簡體   English   中英

如何用 python 列表中的數據替換 DataFrame 列中的值?

[英]How to replace values inside DataFrame columns with data from a python list?

正如標題所說,如何替換 DataFrame 列中的值?

這是我的數據框中的一小部分:

import pandas as pd

outdated_list = pd.DataFrame({"country": ['Afghanistan', "Albania", "Algeria"], "cases": ["No data", "No data", "No data"],
                   "deaths": ["No data", "No data", "No data"], "recov": ["No data", "No data", "No data"],
                   "flag_scr": ["No data", "No data", "No data"]})

輸出

       country    cases   deaths    recov flag_scr
0  Afghanistan  No data  No data  No data  No data
1      Albania  No data  No data  No data  No data
2      Algeria  No data  No data  No data  No data

這是列表,其中包含我想放在正確列中的數據:

updated_list = [['Afghanistan', '40,141', '1,488', '33,561',
                 '//upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Flag_of_Afghanistan.svg/720px-Flag_of_Afghanistan.svg.png'],
                ['Albania', '16,774', '448', '10,001',
                 '//upload.wikimedia.org/wikipedia/commons/thumb/3/36/Flag_of_Albania.svg/21px-Flag_of_Albania.svg.png'],
                ['Algeria', '54,203', '1,846', '37,971',
                 '//upload.wikimedia.org/wikipedia/commons/thumb/7/77/Flag_of_Algeria.svg/720px-Flag_of_Algeria.svg.png']]

所以為了澄清,我想替換為例如。 Afghanistan行中的Cases值,列表中的值為40,141 我該怎么做? 我想最好用循環來做,因為在原始代碼中,列表要長得多,而且不像示例中那樣排序。

您可以直接從列表中創建數據框。 不過,您需要為其指定列名。

updated_df = pd.DataFrame(updated_list, columns=outdated_list.columns)

如果您想實際更新原始數據框,例如列表中存在不完整或額外數據的情況,您可以對數據框使用update方法。

outdated_list.update(updated_df)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM