繁体   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