python - 从另一个数据框和列表创建数据框

标签 python pandas dataframe indexing pandas-groupby

我有一个这样的名字列表

names= [Josh,Jon,Adam,Barsa,Fekse,Bravo,Talyo,Zidane]

我有一个这样的数据框

    Number  Names  
0   1       Josh   
1   2       Jon    
2   3       Adam   
3   4       Barsa  
4   5       Fekse  
5   6       Barsa  
6   7       Barsa 
7   8       Talyo  
8   9       Jon  
9   10      Zidane

我想创建一个数据框,将名称列表中的所有名称和该数据框中的相应数字分组,对于没有相应数字的名称,应该有一个星号,如下所示

Names Number
Josh  1
Jon   2,9
Adam  3
Barsa 4,6,7
Fekse 5
Bravo *
Talyo 8
Zidane 10

我们是否有任何内置函数来完成此任务

最佳答案

您可以将GroupBystr.join 一起使用,然后reindex使用您的 names 列表:

res = df.groupby('Names')['Number'].apply(lambda x: ','.join(map(str, x))).to_frame()\
        .reindex(names).fillna('*').reset_index()

print(res)

    Names Number
0    Josh      1
1     Jon    2,9
2    Adam      3
3   Barsa  4,6,7
4   Fekse      5
5   Bravo      *
6   Talyo      8
7  Zidane     10

关于python - 从另一个数据框和列表创建数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52801833/

相关文章:

python - 在 RandomForestRegressor 中得到连续不支持的错误

python - 将 iMacros 脚本集成到 python 中

python - 反转 Pandas 数据框,同时将另一列附加到值列

python-3.x - 从月平均数据帧到插值的每日时间序列

python - 在共享索引上加入 Pandas Dataframes

scala - 根据另一列将值映射到特定列

python - 检测 gtk.treeview 中的列何时调整大小

python - 检查两个数值在 numpy (+/-) 中是否有相同的符号

python - 如何在 Python 中打印和计算 MongoDB 中 Json 内的值

python - 如何在Python中使用tabula提取PDF文件中存在的多个表格?