[英]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.