繁体   English   中英

我想使用 python、pandas 提取满足特定条件的 dataframe

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM