我有这样的df:
Allotments NDWI TWI
1 2 4
2 3 6
我试图重命名列,但是当我打印时:
df.columns.values
返回:
['\xef\xbb\xbfAllotments' 'NDWI' 'TWI']
当我看到df时,它只是说Allotments
。如何删除这些额外的字符?
我试过
df.rename(columns=lambda x: x.strip())
但没有运气。
答案 0 :(得分:1)
您可以将encoding='utf-8'
作为kwarg传递给read_csv
,以便正确解码BOM。
答案 1 :(得分:0)
这是UTF-8 Byte Order Mark。您可以对内容进行重新编码以解决此问题。
x = ['\xef\xbb\xbfAllotments', 'NDWI', 'TWI']
x = [s.decode("utf-8-sig").encode("utf-8") for s in x]
print(x) # => ['Allotments', 'NDWI', 'TWI']