![](/img/trans.png)
[英]How to create crosstab for a dataframe that has a dictionary within a cell using pandas
[英]How to create a crosstab with concatenation on pandas dataframe?
我有一个 pandas dataframe日志
order row column
1 3 B
2 6 U
3 3 U
4 7 C
5 6 B
我想创建一个 dataframe ,其中每一行对应于row中的一个数字,并且序列值是通过按 order 中的顺序连接column中的值来创建的:
sequence
3 BU
6 UB
7 C
有没有(快速)方法可以做到这一点?
这完成了工作
df.groupby('row')['column'].apply(lambda x: ''.join(list(x)))
Output
3 BU
6 UB
7 C
首先按顺序排序值,然后groupby
row
sort_values
并确保使用sort=False
。 最后我们使用GroupBy.agg
并join
字符串:
dfg = (
df.sort_values("order")
.groupby("row", sort=False)["column"].agg("".join)
.reset_index(name="sequence")
)
row sequence
0 3 BU
1 6 UB
2 7 C
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.