我正在使用Python中的PANDAS处理数据框。我用pandas.read_csv(...)
读取了一个csv文件。在此csv文件中,列'possible_stops'
包含列表(此列中的每个单元格都类似于:[ ]
或[str0,str1]
)。
我想用itertuples()
遍历各行,对于每一行,我想访问'possible_stops'
列内的列表。但是,此列的dtype为object
,当我寻找特定单元格的类型(type(row.possible_stops)
)时,它将返回str
。我认为dtype = ..
方法中与read_csv
有关,但我不知道该怎么做。
如何将此列内的单元格转换为列表?
非常感谢!
编辑:产生的df看起来像:
latitude longitude gps_speed possible_stops
1.05869 1574942547 0.0 [['Bapeaume', 2]]
1.05862 1573910439 0.0 [['Bapeaume', 2]]
1.05862 1573910441 0.0 [['Bapeaume', 2]]
1.05862 1573910443 0.0 [['Bapeaume', 2]]
1.05862 1573910445 0.0 [['Bapeaume', 2]]
1.05862 1573910447 0.0 [['Bapeaume', 2]]
Pandas数据框中的列中的项目不可能具有数据类型“列表”。在此处查看数据框列的可能数据类型列表:https://pbpython.com/pandas_dtypes.html。
因此,当存储在数据框中时,列表不是字符串类型,而是插入列表。但是,仍然可以使用双for循环在数据框的列表中输入项目。例如打印每个项目:
import pandas as pd
data = {'possible_stops':[['str0', 'str1'], ['str2', 'str3']], 'Age':[[20, 21], [19, 18]]}
df = pd.DataFrame(data)
for row in df.itertuples():
for item in row.possible_stops:
print(item)
这将在创建的数据集中一一打印名称。