小编oLa*_*Las的帖子

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万
查看次数

matplotlib imshow - 默认颜色标准化

使用时我的色彩图始终存在问题imshow,有些颜色似乎变黑了.我终于意识到,imshow默认情况下,似乎规范化了我给它的浮点值矩阵.

我本来期望一个数组,例如[[0,0.25],[0.5,0.75]]从地图中显示适当的颜色,对应于那些绝对值,但0.75将被解释为1.在极端情况下,N×N数组为0.2(例如),只产生一个大的黑色方块,而不是人们所期望的0.2对应于色彩图(可能是20%的灰色).

有没有办法防止这种行为?当自定义颜色贴图具有许多不连续性时,特别令人讨厌,尺度的微小变化可能导致所有颜色完全改变.

python matplotlib normalization imshow

32
推荐指数
1
解决办法
4万
查看次数

标签 统计

python ×2

dataframe ×1

imshow ×1

list ×1

matplotlib ×1

normalization ×1

pandas ×1

string ×1