![](/img/trans.png)
[英]How to sum single row to multiple rows in pandas dataframe using multiindex?
[英]How to combine multiple rows into a single row in pandas dataframe grouping using a subset of the row string
我想從
individual_id Rec Sig
0 C11 part 1 0.2 0.8
1 C11 part 2 0.1 0.9
2 C12 part 1 0.3 0.7
3 C12 part 2 0.5 0.5
4 C13 part 1 0.1 0.9
5 C13 part 2 0.7 0.3
到這種格式
individual_id Rec 1 Rec 2 Sig 1 Sig 2
0 C11 0.2 0.1 0.8 0.9
1 C12 0.3 0.5 0.7 0.5
2 C13 0.1 0.7 0.9 0.3
其中Rec 1
和Rec 2
現在代表individual_id
的部分,但在一行中。 但是,對於某些individual_id
可能有 3 個部分。 我希望這是有道理的。 我嘗試使用 df.groupby 但似乎更難以處理行名的多個部分。 希望有人可以提供幫助。 先感謝您!
如果您添加包含兩個以上部分的數據,將會很有幫助。
對於您當前的情況,您可以在使用pivot
重塑之前從individual_id
中提取所需的值:
reshape = df.assign(
num=df.individual_id.str[-1], individual_id=df.individual_id.str[:3]
).pivot("individual_id", "num")
# it could also be " ".join(x)
reshape.columns = reshape.columns.map("_".join)
reshape.reset_index()
individual_id Rec_1 Rec_2 Sig_1 Sig_2
0 C11 0.2 0.1 0.8 0.9
1 C12 0.3 0.5 0.7 0.5
2 C13 0.1 0.7 0.9 0.3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.