簡體   English   中英

蟒蛇。 合並重復的列

[英]Python. Merge repeated columns

我必須從包含重復一些列的文件創建一個dataframe ,並按如下所示拆分它們的值:

在此處輸入圖片說明

如您所見,例如c1分為3部分或c2分為2

我想要得到的是這樣的:

在此處輸入圖片說明

我知道我可以通過合並列:

df.sum(index=1) or df.max(index=1)

但不知道如何指定要對特定列執行的操作。
另一種可能性是創建僅包含重復列的數據框,應用sum或max,然后合並所有內容。

但是我想知道是否還有一些“丑陋”的東西。

您可以通過一種更為簡單的方式使用groupby。

In [1]: df = pd.DataFrame(np.random.random_integers(0,10,(5,8)), columns=['C1','C2','C3','C1','C4','C1','C5','C2'])

In [2]: df
Out[2]:
    C1  C2  C3  C1  C4  C1  C5  C2
0   5   0   9   1   7   3   3   8
1   3   1   10  7   1   2   3   8
2   1   0   0   0   4   10  6   10

In [3]: # Groupby level 0 on axis 1 (columns) and apply a sum
df.groupby(level=0, axis=1).sum()

Out[3]:
    C1  C2  C3  C4  C5
0   9   8   9   7   3
1   12  9   10  1   3
2   11  10  0   4   6

暫無
暫無

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

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