我正在从CSV文件加载数据:
df = pd.read_csv('myFile.csv', encoding = "ISO-8859-1",
parse_dates=['Start Date', 'End Date'])
然后我正在对数据进行分组并汇总:
df['Clean'] = (df['Value'] - df['Value2']).round(decimals=0)
#Group by and aggregate (return Earliest Start Date, Latest End Date and SUM of the Values)
groupedBy = df.groupby([df['ID'], df['Name'].fillna('Other'),df['Site']]).agg({'Start Date': 'min', 'End Date': 'max', 'Value': 'sum', 'Value2': 'sum', 'Clean': 'sum'})
我要做的就是添加一个IF语句以排除某些行。所以,如果列" A"字段包含" XXX"值,它将返回行:
if df['A'].str.contains('xxx'):
groupedBy = df.groupby([df['ID'], df['Name'].fillna('Other'), df['Site']]).agg({'Start Date': 'min', 'End Date': 'max', 'Value': 'sum', 'Value2': 'sum', 'Clean': 'sum'})
它失败了。我尝试在堆栈上搜索并使用其他版本但没有成功。我是否必须在我的分组的agg
部分中包含该内容?为什么IF语句失败?
答案 0 :(得分:0)
在var json = myWebClient.DownloadString("https://api.gdax.com/products/btc-usd/book?level=2");
DataFrame
groupby