python - 是否有一个Python库可以根据A列对B列的值进行分组并在一行中显示一组的所有值?

标签 python pandas pandas-groupby data-munging

我希望像下面的预期输出一样转换以下数据。 第二列的值必须根据第一列中的值分组并显示在单行中。 我可以在 Python 中使用我自己的逻辑来执行此操作,但想知道 Pandas 或 Python 中的任何其他库是否提供此类功能以使其更容易。

输入:

1   A
1   B
1   B
2   D
3   A
1   C
4   D
2   A
1   A
3   B
4   A
2   D
2   C
4   C
4   B
4   A
3   A

预期结果:

1   A   B   B   C   A
2   D   A   D   C   
3   A   B   A       
4   D   A   C   B   A

最佳答案

假设 0 是第一列,1 是第二列。如果第一列是索引,请将 0 替换为 df.index

m=df.groupby(0)[1].apply(list)
print(pd.DataFrame(m.values.tolist(),index=m.index).rename_axis(None).fillna(''))

   0  1  2  3  4
1  A  B  B  C  A
2  D  A  D  C   
3  A  B  A      
4  D  A  C  B  A

关于python - 是否有一个Python库可以根据A列对B列的值进行分组并在一行中显示一组的所有值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55792073/

相关文章:

python - 将多索引数据框写入 Excel 文件

python - 使用 groupbyvars 作为 cols/index 获取 Pandas.groupby.shift() 结果?

python - 根据需要在字符串之间添加文本

python - 请求 GET 保存不完整的文件

python - 循环分组 pandas df 并导出单个图

python - 在 pandas 中拆垛时保持顺序

python-3.x - 分组依据和 value_counts

python - 将字节字符串从 Python 传递到 C

python - 获取 pandas DataFrame 的名称

python - pandas 按 3 个变量分组,但对其中 2 个变量求和