1
私は以下のようなパンダのデータフレームを持っています。パンダのデータフレームをlibsvm形式に変換するには?
df
Out[50]:
0 1 2 3 4 5 6 7 8 9 ... 90 91 92 93 94 95 96 97 \
0 0 0 0 0 0 0 0 0 0 0 ... 1 1 1 1 1 1 1 1
1 0 1 1 1 0 0 1 1 1 1 ... 0 0 0 0 0 0 0 0
2 1 1 1 1 1 1 1 1 1 1 ... 0 0 0 0 0 0 0 0
3 0 0 0 0 0 0 0 0 0 0 ... 1 1 1 1 1 1 1 1
4 0 0 0 0 0 0 0 0 0 0 ... 1 1 1 1 1 1 1 1
5 1 0 0 1 1 1 1 0 0 0 ... 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0 ... 1 1 1 1 1 1 1 1
7 0 0 0 0 0 0 0 0 0 0 ... 1 1 1 1 1 1 1 1
[8 rows x 100 columns]
次のような配列としてターゲット変数があります。
[1, -1, -1, 1, 1, -1, 1, 1]
どのようにこのターゲット変数をデータフレームにマップし、それをlibのSVMフォーマットに変換できますか。
equi = {0:1, 1:-1, 2:-1,3:1,4:1,5:-1,6:1,7:1}
df["labels"] = df.index.map[(equi)]
d = df[np.setdiff1d(df.columns,['indx','labels'])]
e = df.label
dump_svmlight_file(d,e,'D:/result/smvlight2.dat')er code here
ERROR:
File "D:/spyder/april.py", line 54, in <module>
df["labels"] = df.index.map[(equi)]
TypeError: 'method' object is not subscriptable
私は
df["labels"] = df.index.list(map[(equi)])
ERROR使用:
AttributeError: 'RangeIndex' object has no attribute 'list'
をそれらのエラーを解決するために私を助けてください。
私は最初のオプションを使用していました。エラーがクリアされました。ありがとう – banu
しかし、次のエラーは次のようになります。 – banu
TypeError: 'str'と 'int'のインスタンス間で '>'がサポートされていません – banu