在 Python pandas 中转置数据框
Transpose dataframe in Python pandas
我有一个这样的数据框
输入
>>> df
sent cite
a 1,2,3
b 2,4
c 5
我想转置每行包含 cite 和 sent 组合值的数据框。请注意 cite
和 sent
可以重复(例如 cite 2
)
预期输出
>>> df
cite sent
1 a
2 a
2 b
3 a
4 b
5 c
我试过这个但是没用
df = df.pivot( columns='cite', values='sent')
尝试 split
然后 explode
df = df.assign(cite=df['cite'].str.split(',')).explode('cite')
使用Series.str.split
with df.explode
and df.sort_values
:
In [141]: df = df.assign(cite=df['cite'].str.split(',')).explode('cite').sort_values('cite')
In [142]: df
Out[142]:
sent cite
0 a 1
0 a 2
1 b 2
0 a 3
1 b 4
2 c 5
我有一个这样的数据框
输入
>>> df
sent cite
a 1,2,3
b 2,4
c 5
我想转置每行包含 cite 和 sent 组合值的数据框。请注意 cite
和 sent
可以重复(例如 cite 2
)
预期输出
>>> df
cite sent
1 a
2 a
2 b
3 a
4 b
5 c
我试过这个但是没用
df = df.pivot( columns='cite', values='sent')
尝试 split
然后 explode
df = df.assign(cite=df['cite'].str.split(',')).explode('cite')
使用Series.str.split
with df.explode
and df.sort_values
:
In [141]: df = df.assign(cite=df['cite'].str.split(',')).explode('cite').sort_values('cite')
In [142]: df
Out[142]:
sent cite
0 a 1
0 a 2
1 b 2
0 a 3
1 b 4
2 c 5