2

我有一个数据框,其中包含不同国家/地区的问题结果,每个国家/地区都有重复条目。这些国家在 v6 中找到。例如:

v1   v2 ... v6     ...  v550
0    5  ... Belgium...  not important
1    6  ... Belgium...  important
.
.
.
1002  5 ... Belgium ... do not care
1003  3 ... Germany ... important

我知道如何从比利时提取数据

print ('Belgium')
groupBE = dataframe[(dataframe['v6']=='Belgium')]
print ('what is the importance in Belgium')
cforBE = groupBE['v550'].value_counts(sort = False)
print (cforBE)

我想知道是否有一种优雅的方法可以在 v6 中找到的 26 个国家/地区执行相同的操作,而无需为所有人​​编写代码。我认为它与groupby(),因为这给了我 v6 的不同值。并且itertools经常在论坛中被引用,但我没有得到它的工作。我得到的最接近的方法是临时保存并打印 中的国家locals()或以下代码,但它们都不起作用,因为我不知道如何进行变量更改名称

for name, group in dataframe.groupby('v6'):
    print (name)
    c + str(name) = dataframe[(dataframe['v6']=='name')]
    print ('importance in country ' name)
    c + str(name) = c + str(name) ['v550'].value_counts(sort = False)
    print (c + str (name))
4

1 回答 1

1

遍历不同的国家呢?然后对每个国家进行相同的程序

for country in dataframe['v6'].unique():
    group = dataframe[dataframe['v6'] == country] #.copy()
    print group['v550'].value_counts(sort=False)
于 2016-02-23T00:13:31.963 回答