python-2.7 - 将 Pandas 数据框的行转换为列

标签 python-2.7 pandas dataframe reshape

有两个这样的 Pandas 数据框:

Key Value
A    2
A    6
B    7
A    1
B    3
B    4
A    2

我怎样才能以这样的方式 reshape :
A B
2 7
6 3
1 4
2 NaN

最佳答案

您可以使用 groupbyapply用于创建新 index值(value)观:

df = df.groupby('Key').Value.apply(lambda x: pd.Series(x.values)).unstack(0)
print (df)
Key  A  B
0    2  7
1    6  3
2    1  4
3    2  0

另一个解决方案 pivot 并创建新 index值来自 cumcount :
df = pd.pivot(index = df.groupby('Key').cumcount(), columns=df['Key'], values=df['Value'])
print (df)
Key  A  B
0    2  7
1    6  3
2    1  4
3    2  0
df1 = df.groupby('Key').Value.apply(lambda x: pd.Series(x.values)).unstack(0)
print (df1)
Key    A    B
0    2.0  7.0
1    6.0  3.0
2    1.0  4.0
3    2.0  NaN

df2 = pd.pivot(index = df.groupby('Key').cumcount(), columns=df['Key'], values=df['Value'])
print (df2)
Key    A    B
0    2.0  7.0
1    6.0  3.0
2    1.0  4.0
3    2.0  NaN

关于python-2.7 - 将 Pandas 数据框的行转换为列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42055940/

相关文章:

python - 如何将 4 个多索引级别行层次结构从 excel 上传到 pandas 数据框?

python - 在 Pandas 中最后一次出现特定值之后获取所有行

python - 如何让 argparse 检查互斥的参数组

python - 如何从输出中删除包含非字母字符的行?

python 在新行中打印每个字符

python - Pandas:独立地将函数应用于每个组

python - 如何在 Pandas 数据框中转换时间 2020-09-25T00 :20:00. 000Z

python - 使用 Pandas 查询按部分字符串选择行

r - 美观必须是长度1或者与数据问题是ggplot相同

python - 如何插入旋转网格?