我想读一个CSV文件,并依靠多列/总蟒蛇大熊猫过滤和聚集多列,并写入到CSV
我的输入数据如下
unique_identifier,date,flag1,flag2,flag3
a1,7/1/2017,FALSE,TRUE,FALSE
a2,7/1/2017,FALSE,TRUE,FALSE
a3,7/1/2017,FALSE,TRUE,FALSE
a4,7/1/2017,TRUE,FALSE,FALSE
a5,7/1/2017,FALSE,FALSE,FALSE
a6,7/2/2017,FALSE,FALSE,TRUE
a7,7/2/2017,FALSE,FALSE,TRUE
a8,7/2/2017,FALSE,TRUE,FALSE
q9,7/2/2017,FALSE,TRUE,TRUE
是新来的熊猫和到目前为止通过阅读各种问题看起来像我需要使用一个或多个set_index(),.append(),.join(),.agg()
我有单独的结果,但不能得到新的我想要的结果。
import pandas as pd
df = pd.read_csv("flagdata.csv")
print (df["date"].value_counts())
df_flag1 = df[df.flag1 == True]
df_flag1 = df_flag1["date"].value_counts()
print (df_flag1)
df_flag2 = df[df.flag2 == True]
df_flag2 = df_flag2["date"].value_counts()
print (df_flag2)
df_flag3 = df[df.flag3 == True]
df_flag3 = df_flag3["date"].value_counts()
print (df_flag3)
我想要得到真正的标志计数每个日期创建结果如下新的CSV文件 - 迄今为止,总计数,FLAG1真实计数,FLAG2真实计数,FLAG3真实计数
date,count,flag1,flag2,flag3
7/1/2017,5,1,3,0
7/2/2017,4,0,2,3
'df.groupby( '日期')的。总和()。astype(INT).assign(计数= df.groupby( '日期')。COUNT()。FLAG1).to_csv ( 'output.csv')'。 – Abdou