gpt4 book ai didi

python - 如何导入带有 d'type 列表而不是 str 的 csv 列

转载 作者:行者123 更新时间:2023-12-01 03:16:23 26 4
gpt4 key购买 nike

我有一个 csv 文件。其中一列是某个城镇的平均海拔列表。例如他的其中一个元素可以是 [571.0, 428.0, 600.0, 410.0, 588.0, 520.0, 649.0, 374.0]

当我这样做时:

data=pd.read_csv('test.csv', sep=";", encoding="utf-8-sig",dtype={'Mean_Altitude':list})

a=data['Mean_Altitude'][0]
print a
print type(a)

我得到:

[571.0, 428.0, 600.0, 410.0, 588.0, 520.0, 649.0, 374.0]
<type 'unicode'>

我想要一个 float 列表......不是unicode或字符串......

你知道我该怎么做吗?

最佳答案

这是一个想法。在 pd.read_csv

converters 参数中使用 ast.literal_eval

将字符串 txt 视为我们的示例 csv

from io import StringIO
import pandas as pd
import ast

txt = """A|Mean_Altitude|B
1|[571.0, 428.0, 600.0, 410.0, 588.0, 520.0, 649.0, 374.0]|X
2|[571.0, 428.0, 600.0, 410.0, 588.0, 520.0, 649.0, 374.0]|Y"""

converters = {'Mean_Altitude': ast.literal_eval}
df = pd.read_csv(StringIO(txt), sep='|', converters=converters)

print(df)

A Mean_Altitude B
0 1 [571.0, 428.0, 600.0, 410.0, 588.0, 520.0, 649... X
1 2 [571.0, 428.0, 600.0, 410.0, 588.0, 520.0, 649... Y

Mean_Altitude 是一列列表

df.Mean_Altitude.loc[0][2]

600.0

以及类型

type(df.Mean_Altitude.loc[0])

list

关于python - 如何导入带有 d'type 列表而不是 str 的 csv 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42434944/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com