私はDataFrameとして.dtaを開こうとします。 エラーが表示されます: "ValueError:列の値ラベル...は一意ではありません。繰り返されるラベルは次のとおりです:"列に2つのラベルが続きます。パンダへのスタータ:繰り返しの値ラベルがあっても?
stataの正確な同じ値のラベルを持つラベリングマルチコードは、巧妙ではない(私のフォルトではありません:)) 私が知っているリサーチの後、パンダは繰り返し値ラベルを受け入れません。
しかし、私は(良い)解決策を見つけ出すことはできません。 があります:
。スムーズにパンダでデータを開き、このプロセスでダブルス( "label"や "label(2)"など)の名前を変更するだけですか?ここ
は、データが(カッコ内の値ラベル)のようになります。これまでの
| multilabel
1 | 11 (oneone or twotwo)
2 | 22 (oneone or twotwo)
3 | 33 (other-label-which-is-unique)
私のコード:
import pandas as pd
#followed by any option that delivers this solution:
dataframe = pd.read_stata('file.dta')
または
B。すべての繰り返し値ラベルの名前を "label"ではなく "label(2)"に変更するだけです。 は、はい、コードはこれまでにもかなり退屈です:
use "file.dta"
*followed by a loop wich finds repeated labels and changes them
save "file.dta", replace
そして、はい、それを一つずつ谷に行くために多くの繰り返し値ラベルにあります。
そして、ここでのStata-コマンドは、最小限の例を製造した:
set obs 1
generate var1 = 1 in 1
set obs 2
replace var1 = 2 in 2
set obs 3
replace var1 = 3 in 3
generate var2 = 11 in 1
replace var2 = 22 in 2
replace var2 = 33 in 3
rename var2 multilabel
label define labelrepeat 11 "oneone or twotwo" 22 "oneone or twotwo"
label values multilabel labelrepeat
私はそれぞれの提案のために幸せです!
ここで再現可能な例はありません。 https://stackoverflow.com/help/mcveはアドバイスを提供します。 –
大丈夫です、あなたが正しいと思いますが、このケースではそれがあまり役に立たないと思っても、サンプルデータを持てば誰もがより高い品質を生み出すでしょう。悲しい。 –
私はパンダの人ではなく、あなたが最も必要としている人ですが、Stataの終わりでは、 'decode multilabel、gen(valuelabel)'の後に 'label values multilabel'を付けて、問題のある値ラベルの繰り返しを取り除きます。 –