根据组切片数据帧,没有连续的字符串

时间:2016-02-22 23:50:49

标签: python string pandas pandas-groupby

我有一个包含不同国家/地区问题结果的数据框,每个国家/地区都会重复输入。这些国家在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))

1 个答案:

答案 0 :(得分:1)

如何迭代不同的国家/地区?然后对每个国家/地区执行相同的程序

for country in dataframe['v6'].unique():
    group = dataframe[dataframe['v6'] == country] #.copy()
    print group['v550'].value_counts(sort=False)