我有一个包含不同国家/地区问题结果的数据框,每个国家/地区都会重复输入。这些国家在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))
答案 0 :(得分:1)
如何迭代不同的国家/地区?然后对每个国家/地区执行相同的程序
for country in dataframe['v6'].unique():
group = dataframe[dataframe['v6'] == country] #.copy()
print group['v550'].value_counts(sort=False)