gpt4 book ai didi

python - Pandas DataFrame - 查找列的索引值

转载 作者:太空宇宙 更新时间:2023-11-04 03:08:37 25 4
gpt4 key购买 nike

我有一个包含 ID、名称、规范、时间等列的 DataFrame。

我打开它们的文件路径

mc = pd.read_csv("C:\\data.csv", sep = ",", header = 0, dtype = str)

当我检查我的列值时,使用

mc.coulumns.values 

我发现我的身份证上有一个奇怪的字符,看起来像这样,

['/ufeffID', 'Name', 'Specification', 'Time']  

在此之后,我为这些列分配了这样的 ID,

 mc.columns.values[0] = "ID"

当我检查这个时使用

mc.columns.values 

我得到的结果是,

Array(['ID', 'Name', 'Specification', 'Time']) 

然后,我检查了,

"ID" in mc.columns.values

它给了我 "True"

然后我试了一下,

mc["ID"]

我收到这样的错误说明,

keyError 'ID'.

我想获取 ID 列的值并去掉 ID 列前面的奇怪字符?有什么办法可以解决吗?任何帮助,将不胜感激。先感谢您。

最佳答案

这是 utf-16 BOM,将 encoding='utf-16' 传递给 read_csv 参见:https://en.wikipedia.org/wiki/Byte_order_mark#Representations_of_byte_order_marks_by_encoding

mc = pd.read_csv("C:\\data.csv", sep=",", header=0, dtype=str, encoding='utf-16')

上面应该可以工作 FE FF 是特定于 utf-16 Big endian 的 BOM

此外,您应该使用 rename 而不是尝试覆盖 np 数组值:

mc.rename(columns={mc.columns[0]: "ID"}, inplace=True)

应该可以正常工作

关于python - Pandas DataFrame - 查找列的索引值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38774705/

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