[英]Return groupby columns as new dataframe in Python Pandas
輸入:5列CSV。
預期輸出:'col1','col2','col3'的唯一組合。
輸入樣例:
col1 col2 col3 col4 col5
0 A B C 11 30
1 A B C 52 10
2 B C A 15 14
3 B C A 1 91
樣本預期輸出:
col1 col2 col3
A B C
B C A
只是期望這是輸出。 我不需要在輸出col4和col5。 並且也不需要任何總和,計數,平均值等。嘗試使用熊貓來實現這一目標,但是沒有運氣。
我的代碼:
input_df = pd.read_csv("input.csv");
output_df = input_df.groupby(['col1', 'col2', 'col3'])
此代碼返回“ pandas.core.groupby.DataFrameGroupBy對象為0x0000000009134278”。 但是我需要像上面的數據框。 任何幫助,不勝感激。
df[['col1', 'col2', 'col3']].drop_duplicates()
首先,您可以使用.drop()
刪除col4
和col5
因為您說不需要它們。
df = df.drop(['col4', 'col5'], axis=1)
然后,您可以使用.drop_duplicates()
刪除col1
, col2
和col3
的重復rows
。
df = df.drop_duplicates(['col1', 'col2', 'col3'])
df
輸出:
col1 col2 col3
0 A B C
2 B C A
您注意到輸出中的索引是0, 2
而不是0,1
。 要解決此問題,您可以執行以下操作:
df.index = range(len(df))
df
輸出:
col1 col2 col3
0 A B C
1 B C A
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.