さまざまな国の質問結果を含むデータフレームがあり、国ごとにエントリが繰り返されます。国は 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))