[英]i want to extract dataframe that meet certain conditions using python, pandas
我使用 python 和 pandas 使用元组时间、名称、好、坏调用 Excel 数据。
我想将 dataframe 重新处理为另一个满足某些条件的 dataframe。
详细地说,我想打印出一个 dataframe,它在整个时间内存储每个名称的好数据和坏数据的总和。
请帮助我了解 python、pandas 的任何人。
First aggregate sum
by DataFrame.groupby
, change columns names by DataFrame.add_prefix
, add new column by DataFrame.assign
and last convert index to column by DataFrame.reset_index
:
df = pd.DataFrame({
'Name':list('aaabbb'),
'Bad':[1,3,5,7,1,0],
'Good':[5,3,6,9,2,4]
})
df1 = (df.groupby('Name')['Good','Bad']
.sum()
.add_prefix('Total_')
.assign(Total_Count = lambda x: x.sum(axis=1))
.reset_index())
print (df1)
Name Total_Good Total_Bad Total_Count
0 a 14 9 23
1 b 15 8 23
将 pandas NamedAgg 与eval
一起使用,
df.groupby('Name')[['Good', 'Bad']]\
.agg(Total_Good=('Good','sum'),
Total_Bad=('Bad', 'sum'))\
.eval('Total_Count = Total_Good + Total_Bad')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.