Python 熊猫是否支持使用read_csv读取'set'参数
我使用to_csv保存Python 熊猫是否支持使用read_csv读取'set'参数,python,pandas,Python,Pandas,我使用to_csv保存设置参数 csv文件如下 1,59,“集([1712219626405130323965712427251335951, 38928, 2 6088, 10258, 49235, 10326, 13176, 30450, 41787, 14084, 46149])”,18,19.0,11,5.3649368 我可以使用read\u csv并返回set类型,但str users = pd.read_csv(DATA_PATH + "users_match.csv"
设置参数
csv
文件如下
1,59,“集([1712219626405130323965712427251335951,
38928, 2 6088, 10258, 49235, 10326, 13176, 30450, 41787, 14084,
46149])”,18,19.0,11,5.3649368
我可以使用read\u csv
并返回set
类型,但str
users = pd.read_csv(DATA_PATH + "users_match.csv", dtype={
})
答案是肯定的。你的解决方案
users = pd.read_csv(DATA_PATH + "users_match.csv", header = None)
只要在set([…])
周围有双引号,就会以字符串形式返回第2列。
然后使用
users[2].apply(lambda x: eval(x))
要将其转换回set要将数据帧的str
对象(以字符“set”开头的字符串)转换为内置Pythonset
对象,有一种方法:
>>> import pandas as pd
>>> df = pd.read_csv('users_match.csv', header=None)
>>> type(df[2][0])
str
>>> df.set_value(0, 2, eval(df[2][0]))
>>> type(df[2][0])
set
然后我应该使用df['xx'].apply(lambda x:eval(x))
来转换它