私はcsvファイルを持っているもので、このようになり、いくつかの列:パンダでは列内のリストを使ってcsvファイルを読む方法は?
df = pd.DataFrame({'a':[['ID1','ID2','ID3'],['ID1','ID4'],[]],'b':[[8.6,1.3,2.5],[7.5,1.2],[]],'c':[[12,23,79],[42,10],[]]})
Out[1]: a b c
0 [ID1, ID2, ID3] [8.6, 1.3, 2.5] [12, 23, 79]
1 [ID1, ID4] [7.5, 1.2] [42, 10]
2 [] [] []
事は、私がpandas.read_csv
と、それを読んだとき、Pythonは文字列としてそれらの列を考慮することです。それらの列内の数字のリストであるというオプションを渡す方法はありますか? (おそらくいくつかdtype = something
)
PS:後でast.literal_eval
とリストの理解をすることができますが、しばらく時間がかかりますので、私はcsvを読むとすぐに持っていきます。
PS2:元のcsvファイルは、それがliteral_eval
にある程度の時間がかかる理由である(600 000行の長さで、その列は含まれています。
'ID of the project' 'postcode' 'city' 'len of the lists in the last 3 columns' 'ids of other projects' 'distance from initial project' 'jetlag from initial project'
object int string int list of strings list of floats list of ints
解析するために元のCSVファイルに表示できますか? –
元のcsvファイルの方法を追加しました。最後の3つの列のリストの長さは同じです(行ごとに異なります)。 – ysearka
PS2の編集から、あなたはcsvが本当にリストの周りの角括弧を含んでいると思いますか? –