首页 > 解决方案 > 使用给定的熊猫列表对 CSV 文件进行排序

问题描述

我有一个包含 2 列的 csv 文件和一个随机包含第一列的所有值的列表。我想对 csv 文件进行排序,就像列表中包含值一样。

CSV 文件:

 Name     age
 ----     ----
 alice    17
 bob      18
 carol    19

列表

name = ['bob','carol','alice']

预期输出:

 Name     age
 ----     ----
 bob      18
 carol    19
 alice    17

如何用 python pandas 模块做到这一点?

标签: pythonpandascsv

解决方案


您可以将列表转换为熊猫系列(为其分配与您要订购的列相同的名称),然后合并。合并应该是内部、左侧或外部,具体取决于列表和文件的重叠以及您希望如何处理差异

import pandas as pd

df_ages = pd.DataFrame([('alice', 17), ('bob', 18), ('carol', 19)], columns=['Name', 'age'])

name = ['bob','carol','alice']
name = pd.Series(name, name='Name')


df_ages = pd.merge(name, df_ages, how='outer')

结果:

    Name  age
0    bob   18
1  carol   19
2  alice   17

推荐阅读