0
各(0,1)の値がデータフレームの列を占めるようにバイナリ値を分割する方法が失われています。 from jupyterPython Pandasデータフレームのセルの値の分割
各(0,1)の値がデータフレームの列を占めるようにバイナリ値を分割する方法が失われています。 from jupyterPython Pandasデータフレームのセルの値の分割
あなたはapply
list
でconcat
を使用することができます。
df = pd.DataFrame({0:[1,2,3], 1:['1010','1100','0101']})
print (df)
0 1
0 1 1010
1 2 1100
2 3 0101
df = pd.concat([df[0],
df[1].apply(lambda x: pd.Series(list(x))).astype(int)],
axis=1, ignore_index=True)
print (df)
0 1 2 3 4
0 1 1 0 1 0
1 2 1 1 0 0
2 3 0 1 0 1
DataFrame
コンストラクタで別の解決策:
df = pd.concat([df[0],
pd.DataFrame(df[1].apply(list).values.tolist()).astype(int)],
axis=1, ignore_index=True)
print (df)
0 1 2 3 4
0 1 1 0 1 0
1 2 1 1 0 0
2 3 0 1 0 1
EDIT:
df = pd.DataFrame({0:['1010','1100','0101']})
df1 = pd.DataFrame(df[0].apply(list).values.tolist()).astype(int)
print (df1)
0 1 2 3
0 1 0 1 0
1 1 1 0 0
2 0 1 0 1
しかし、必要ならば
df[0] = df[0].apply(lambda x: [int(y) for y in list(x)])
print (df)
0
0 [1, 0, 1, 0]
1 [1, 1, 0, 0]
2 [0, 1, 0, 1]
df = pd.DataFrame({0:['1010'、 '1100'、 '0101']}) – CARTMAN
最後の編集を確認してください。 – jezrael
私の答えが役に立つなら、[accept](http://meta.stackexchange.com/a/5235/295067)を忘れないでください。ありがとう。 – jezrael