簡體   English   中英

如何使用 pandas 將多行合並為一列?

[英]How to combine multiple rows into one column with pandas?

我有一個 pandas dataframe,內容如下(X 代表一些值)

個人身份證件 時間點 label
1個 1個 X
. . .
1個 12 X
2個 400 X
. . .
2個 411 X

基本上,對於每個人,我都有 12 個連續時間條目的標簽(並不總是從 1 到 12)。 我要的是下面的表格

個人身份證件 label(第一時間點) label(第二個時間點) ... label(第十二個時間點)
1個 X X ... X
2個 X X ... X

我怎樣才能做到這一點? 由於我想忽略時間點數字,只希望十二個標簽彼此相鄰,因此 pivot 表似乎無法完成這項工作。

使用GroupBy.cumcountpersonal id進行計數器,然后使用DataFrame.pivot

df = df.assign(g = df.groupby('personal id').cumcount()).pivot('personal id','g','label')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM