从 python 中的熊猫数据帧中读取元组

问题描述 投票:0回答:1

这可能是个愚蠢的问题,但我有一个由一列字符串和一列元组组成的 .csv。问题是,当我阅读第二列时,我将其作为一列字符串而不是一列元组来阅读。

我有一个带有下一个数据框的 .csv 存档:

Paint,RGB Value
Abaddon Black ,"(0, 0, 0)"
Administratum Grey ,"(152, 156, 148)"
Ahriman Blue ,"(0, 112, 138)"
Alaitoc Blue ,"(47, 79, 133)"

该数据框的第一列由油漆的名称组成,第二列由每种油漆的 rgb 值的元组组成。

问题是,当我打开 .csv 文件并阅读第二列时,我没有将该列作为元组列表来阅读,而是作为字符串列表来阅读。这是我的代码,当我想读取第一个 RGB 值 8 在这种情况下,第一个油漆的红色值)(必须为 0):

import pandas as pd



datos = pd.read_csv('Pinturas GW.csv', header = 0)

num = datos['Valor RGB']

print(num[0][0])

但是这个打印只有'(',这就是为什么我认为我的程序将 de column 读取为字符串列表而不是元组列表的原因。谢谢!!!

python python-3.x pandas dataframe tuples
1个回答
0
投票

这根本不是一个愚蠢的问题!您可以使用

ast.literal_eval
功能。此函数安全地计算表达式节点或包含 Python 文字或容器显示的字符串。例如,你可以这样做:

import pandas as pd
import ast

df =  pd.read_csv('Pinturas GW.csv') # load your file
df["RGB Value"] = df["RGB Value"].apply(ast.literal_eval)
print(df["RGB Value"][0][0]) # prints 0
© www.soinside.com 2019 - 2024. All rights reserved.