python - 我要创建一个新列和值吗
问题描述
我有两个包含数据的 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")```
解决方案
您可以简单地创建一个包含 County 和 Population 的 pandas 数据框,并将其与第一个只有 County 的数据框合并。此外,还有许多加入选项可满足您的不同需求。
推荐阅读
- python - Scrapy 请求不被解析
- java - Java 2D 数组硬币收集游戏来自较大的相邻单元
- php - 如何在 PHP-CLI(7.3 版)中输入 switch case 变量?
- android - Android Recyclerview 交错动画
- java - 如何创建一个永远在垂直方向滚动的滚动窗格?
- amazon-web-services - 如何使用 AWS Lambda 和 CloudWatch 监控网站状态?
- java - 按下后退按钮时将 JSON 解析为数组不起作用
- python - 使用 tkinter 的 Python 音频浏览器和使用 pygame 播放的音频
- mysql - MySQL 返回总和值和一个虚拟列作为 (count - sum)
- javascript - 如何定位不和谐机器人连接的语音聊天