相关疑难解决方法(0)

Pandas DataFrame存储列表为字符串:如何转换回列表?

我有一个n- by- m的 Pandas DataFrame df定义如下.(我知道这不是最好的方法.对于我在实际代码中尝试做的事情是有意义的,但这个帖子的TMI就是这样,所以请理解我的方法,这种方法适用于我的特定场景.)

>>> df = DataFrame(columns=['col1'])
>>> df.append(Series([None]), ignore_index=True)
>>> df
Empty DataFrame
Columns: [col1]
Index: []
Run Code Online (Sandbox Code Playgroud)

我将列表存储在此DataFrame的单元格中,如下所示.

>>> df['column1'][0] = [1.23, 2.34]
>>> df
     col1
0  [1, 2]
Run Code Online (Sandbox Code Playgroud)

出于某种原因,DataFrame将此列表存储为字符串而不是列表.

>>> df['column1'][0]
'[1.23, 2.34]'
Run Code Online (Sandbox Code Playgroud)

我有两个问题要问你.

  1. 为什么DataFrame将列表存储为字符串,是否有解决此问题的方法?
  2. 如果没有,那么是否有一种Pythonic方法将此字符串转换为列表?

更新

我使用的DataFrame已经保存并从CSV格式加载.这种格式而不是DataFrame本身将列表从字符串转换为文字.

python string list dataframe pandas

41
推荐指数
4
解决办法
3万
查看次数

Pandas:使用 to_csv() 带引号和逗号作为分隔符

我是 pandas 新手,在导出到另一个系统的正确 CSV 格式时遇到问题。

源文件如下所示,其中字段由引号和逗号分隔。

"User ID","Description","User Name"
"user1","John","john01"
"user2","Mike","mike33"
"user3","Barry","barry66"
Run Code Online (Sandbox Code Playgroud)

我想以相同的格式导出,但无法导出。

我试过

csvfiledf.to_csv(outputcsv, index=False,  sep='\",\"') 
Run Code Online (Sandbox Code Playgroud)

但得到

TypeError: "delimiter" must be a 1-character string
Run Code Online (Sandbox Code Playgroud)

python csv dataframe export-to-csv pandas

1
推荐指数
1
解决办法
7527
查看次数

标签 统计

dataframe ×2

pandas ×2

python ×2

csv ×1

export-to-csv ×1

list ×1

string ×1