パンダは、列の値としてタプルを保存しました

user4789408:

私は、データフレームに取り組んでいると私は、特定の列の値としてタプルを保存する必要があります。

df['column'] = (423423,41231,5345)

.csvにデータフレームを保存した後、私はそれを文字列として保存されているので、私は、再びタプルを使用することはできません値を取り戻すしたい場合。

値として(もまたは一般的にはオブジェクト)のタプルを保存する方法はありますか?

それが再びタプルとして(文字列として保存された)前のタプルを変換することを可能にするパンダや他のライブラリ内の任意の特定の機能、?

anky_91:

CSVのpythonオブジェクトを格納することはできません、あなたは漬物を使用する必要がありますto_pickleし、read_pickle代わりに。

例:

df = pd.DataFrame({'A':[(1,2,3),(4,5,6),(7,8,9)],'B':list('xyz')})

print(df)
           A  B
0  (1, 2, 3)  x
1  (4, 5, 6)  y
2  (7, 8, 9)  z

df.to_pickle('test.pkl')
new_df = pd.read_pickle('test.pkl')
print(new_df)

           A  B
0  (1, 2, 3)  x
1  (4, 5, 6)  y
2  (7, 8, 9)  z

type(new_df.loc[0,'A'])
#tuple

あなたはcsvファイルを読むときに、CSVの場合、値はあなたが適用することができた文字列として返されるast.literal_evalようにdf['Col_name'].apply(ast.literal_eval)インポートした後、ast

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=34183&siteId=1