繁体   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