首页 > 解决方案 > 我要创建一个新列和值吗

问题描述

我有两个包含数据的 csv 文件。他们都有一个共同的列(县)。第一个文件仅包含县,而第二个文件包含县及其人口。我有一个脚本,我认为它可以在第一个文件中创建一个新的人口列。请注意,两个文件中县的顺序完全不同。

档案一:

ID
1 内罗毕
2 蒙巴萨
3 基苏木
4 纳库鲁

文件二:

ID 人口
1 基苏木 1,250,200
2 内罗毕 4,560,700
3 纳库鲁 2,673,800
4 蒙巴萨 3,167,900

我想在第一个表中创建一个新列作为人口并解析第二个表并选择每个县的人口,如下表所示。

ID 人口
1 内罗毕 4,560,700
2 蒙巴萨 3,167,900
3 基苏木 1,250,200
4 纳库鲁 2,673,800

下面是我的代码,我对如何执行它有点困惑。请帮忙。


data = pd.read_csv('counties.csv');
county_names = data['COUNTY']

ref_data = pd.read_csv('kenya-population-by-sex-and-county.csv', skiprows=8, header=None)
ref_data.columns = ['County', 'Male', 'Female', 'Intersex', 'Total']

list_count = []
for item in county_names.tolist():
    compare = ref_data['County'].tolist()
    pop = ref_data['Total']
    if item in compare:
        list_count.append(item)
        pop
    else:
        print(item + " is not in list")```

标签: pythonpandas

解决方案


您可以简单地创建一个包含 County 和 Population 的 pandas 数据框,并将其与第一个只有 County 的数据框合并。此外,还有许多加入选项可满足您的不同需求。


推荐阅读