[英]get values from next row in pandas df and insert to previous row
我有一個大型 q/a 數據集,每個唯一 ID 始終包含 3 行/它們已經分組。
ID | 從 | 至 | 文本 |
---|---|---|---|
1 | 最大限度 | 你好 | |
1 | 查爾斯 | 最大限度 | 嘿 ! |
1 | 亞歷克斯 | 最大限度 | 你好! |
2 | 沙 | 你好 | |
2 | 沙 | 嘿??! | |
2 | 山姆 | 沙 | 耶? |
我只想要文本值並將每三行壓縮成一行/刪除另外兩行。
ID | author_text_1 | author_text_2 | author_text_3 | 回復文本_1 | 回復文本_2 |
---|---|---|---|---|---|
1 | 你好 | 嘿 ! | 你好! | ||
2 | 你好 | 嘿??! | 耶? |
我嘗試為每組 3 行刪除最后兩行並將每個“文本”列中的值添加到相應的“作者文本”和“回復文本”列。
我正在努力實現作者可以發布問題帖子和另外 2 個帖子來填充三行的案例。
您需要創建該列作為pivot
的新鍵
df['key'] = np.where(df.to.isna(),'author_text_','reply_text_')
df['key'] += df.groupby(['id','key']).cumcount().add(1).astype(str)
out = df.pivot('id','key','text')
Out[254]:
key author_text_1 author_text_2 reply_text_1 reply_text_2
id
1 NaN hi NaN hey! howdi!
2 hi hey!?! jeah? NaN
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.