python - 取消透视数据框并加入 Pandas

标签 python pandas dataframe join pivot

<分区>

我有这个数据框:

+-------+-----+---------+
| group | id  |  value  |
+-------+-----+---------+
| A     |  92 | 123.123 |
| A     | 105 |    9034 |
| A     | 999 |     421 |
| B     |  92 |   32019 |
| B     | 105 |    3281 |
+-------+-----+---------+

我想旋转“组”列,使其值成为“值”列名称的一部分,并且观察结果由“id”连接,如下所示:

+-----+---------+---------+
| id  | A_value | B_value |
+-----+---------+---------+
|  92 | 123.123 | 32019   |
| 105 |    9034 | 3281    |
| 999 |     421 | nan     |
+-----+---------+---------+

执行此操作的最佳方法是什么?

最佳答案

使用set_indexunstack 和 flatten multiindex:

df_out = df.set_index(['id','group']).unstack()
df_out.columns = df_out.columns.map('{0[1]}_{0[0]}'.format)
df_out = df_out.reset_index()
print(df_out)

输出:

    id      A_value      B_value
0   92      123.123      32019.0
1  105     9034.000       3281.0
2  999      421.000          NaN

关于python - 取消透视数据框并加入 Pandas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51526846/

相关文章:

python - 迭代数据帧以打印索引、列和值

python - Pandas ---> 每个组元素需要一个索引

python - 将 comtypes 移植到 win32com

python - 如何用 beautiful soup/python 重建 xml key?

python - 如何将 Pandas 数据框列连接到可迭代列表中?

python - 将列字符串转换/解析为日期时间值 - pandas

python - Pandas 来自其他 DataFrame 的多个 DataFrame

python按列拆分pd数据框

python - 如何从 DataLoader 获取样本的文件名?

python - 如何仅将数字的第一部分保留在数据框中的列中?