Python 2.7 使用python查找由几列分组的列中元素的计数
如何使用python查找由几列分组的列中的元素计数 我有以下csv文件结构:Python 2.7 使用python查找由几列分组的列中元素的计数,python-2.7,pandas,Python 2.7,Pandas,如何使用python查找由几列分组的列中的元素计数 我有以下csv文件结构: 'Country' 'City' 'Year' 'Month' 'Value' 'Street_Code' USA New York 1971 jan 0.0 1 USA New York 1971 feb 23.5 1 USA New York
'Country' 'City' 'Year' 'Month' 'Value' 'Street_Code'
USA New York 1971 jan 0.0 1
USA New York 1971 feb 23.5 1
USA New York 1971 mar 10.2 1
USA Florida 1971 jan 0.0 1
USA Florida 1971 feb 0.0 1
USA Florida 1971 mar 0.0 1
USA New York 1971 jan 0.0 2
USA New York 1971 feb 15.0 2
USA New York 1971 mar 7.6 2
USA Florida 1971 jan 0.0 2
USA Florida 1971 feb 0.0 2
USA Florida 1971 mar 2.3 2
我想通过分组计算'Country'
,'City'
,'Year'
和'streetcode'
来计算'value'
中的零(0.0)数
到目前为止我已经试过了
import pandas as pd
data = pd.read_csv('country_details.csv')
count_data = data[data['Value'] == 0.0] # I'm filtering the data. I don't think this is the right way of doing it
grouped = count_data.groupby(['Country','Year','Month','Street_Code']) # I'm stuck here
您的筛选几乎正确,但您需要引用列名,在本例中为“Value” 尝试:
您的数据是否使用read_csv正确解析?是。没有问题。如果您的数据被
read\u csv
正确解析,为什么会有一列名为'0'
?我原以为是data[data['Value']==0]
。天哪。。对不起…编辑
import pandas as pd
import StringIO
csv = StringIO.StringIO("""Country,City,Year,Month,Value,Street_Code
USA,NewYork,1971,jan,0.0,1
USA,NewYork,1971,feb,23.5,1
USA,NewYork,1971,mar,10.2,1
USA,Florida,1971,jan,0.0,1
USA,Florida,1971,feb,0.0,1
USA,Florida,1971,mar,0.0,1
USA,NewYork,1971,jan,0.0,2
USA,NewYork,1971,feb,15.0,2
USA,NewYork,1971,mar,7.6,2
USA,Florida,1971,jan,0.0,2
USA,Florida,1971,feb,0.0,2
USA,Florida,1971,mar,2.3,2""")
data = pd.read_csv(csv)
datasub = data[data['Value'] == 0.0]
print datasub.groupby(['Country','Year','Month','Street_Code'])['Value'].count()
Country Year Month Street_Code
USA 1971 feb 1 1
2 1
jan 1 2
2 2
mar 1 1