簡體   English   中英

返回groupby列作為Python Pandas中的新數據框

[英]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()刪除col4col5因為您說不需要它們。

df = df.drop(['col4', 'col5'], axis=1)

然后,您可以使用.drop_duplicates()刪除col1col2col3的重復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.

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