【发布时间】:2014-05-31 11:25:57
【问题描述】:
我有一个 n-by-m Pandas DataFrame df 定义如下。 (我知道这不是最好的方法。这对于我在实际代码中尝试做的事情是有意义的,但对于这篇文章来说这将是 TMI,所以请相信这种方法适用于我的特定场景.)
>>> df = DataFrame(columns=['col1'])
>>> df.append(Series([None]), ignore_index=True)
>>> df
Empty DataFrame
Columns: [col1]
Index: []
我将列表存储在此 DataFrame 的单元格中,如下所示。
>>> df['column1'][0] = [1.23, 2.34]
>>> df
col1
0 [1, 2]
由于某种原因,DataFrame 将此列表存储为字符串而不是列表。
>>> df['column1'][0]
'[1.23, 2.34]'
我有 2 个问题要问你。
- 为什么 DataFrame 将列表存储为字符串,有没有办法解决这个问题?
- 如果没有,那么有没有 Pythonic 方法可以将此字符串转换为列表?
更新
我使用的 DataFrame 已从 CSV 格式保存和加载。 这种格式,而不是 DataFrame 本身,将列表从字符串转换为文字。
【问题讨论】:
标签: python string list pandas dataframe