[英]How do I change the header on a 2 column CSV file in python using the pandas library without creating a new file?
[英]How do I change Index in a CSV file through pandas in python?
我正在尝试将“ID”作为索引,它会引发下面提到的错误和图像:
obj= pd.read_csv("Supermarkets.csv")
obj
ID Address City Country Name Number
0 1 Ecity-1 Bangalore India village mart 2
1 2 Ecity-2 Mysore India More 3
2 3 Ecity-3 Dharwad India Bigg bazar 1
3 4 Ecity-4 Haveri India Super Mart 2
4 5 Ecity-5 Badami India Kirani angadi 1
obj.set_index("ID")
错误:
Traceback (most recent call last):
File "C:\Users\sharathkumar.chattar\AppData\Local\Programs\Python\Python36-32\lib\site-packages\pandas\core\indexes\base.py", line 2656, in get_loc
return self._engine.get_loc(key)
File "pandas\_libs\index.pyx", line 108, in pandas._libs.index.IndexEngine.get_loc
File "pandas\_libs\index.pyx", line 132, in pandas._libs.index.IndexEngine.get_loc
File "pandas\_libs\hashtable_class_helper.pxi", line 1601, in pandas._libs.hashtable.PyObjectHashTable.get_item
File "pandas\_libs\hashtable_class_helper.pxi", line 1608, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'ID'
我认为问题在于“ID”列名称中有尾随空格。 我复制了您的数据,但在导入时删除了任何多余的空间。 您会注意到列名是如何正确对齐的。 您的 ID 列似乎不是,可能是因为名称中有尾随空格。 对于其他列名称,这似乎也是正确的。
import pandas as pd
obj = pd.read_csv('Supermarkets.csv')
obj
ID Address City Country Name Number
0 1 Ecity-1 Bangalore India village mart 2
1 2 Ecity-2 Mysore India More 3
2 3 Ecity-3 Dharwad India Bigg bazar 1
3 4 Ecity-4 Haveri India Super Mart 2
4 5 Ecity-5 Badami India Kirani angadi 1
obj.set_index("ID")
Address City Country Name Number
ID
1 Ecity-1 Bangalore India village mart 2
2 Ecity-2 Mysore India More 3
3 Ecity-3 Dharwad India Bigg bazar 1
4 Ecity-4 Haveri India Super Mart 2
5 Ecity-5 Badami India Kirani angadi 1
我可以重现您的相同数据表并通过使用带空格的全名来避免错误:
obj = pd.read_csv('Supermarkets_spaces.csv')
obj
ID Address City Country Name Number
0 1 Ecity-1 Bangalore India village mart 2
1 2 Ecity-2 Mysore India More 3
2 3 Ecity-3 Dharwad India Bigg bazar 1
3 4 Ecity-4 Haveri India Super Mart 2
4 5 Ecity-5 Badami India Kirani angadi 1
obj.set_index("ID ")
Address City Country Name Number
ID
1 Ecity-1 Bangalore India village mart 2
2 Ecity-2 Mysore India More 3
3 Ecity-3 Dharwad India Bigg bazar 1
4 Ecity-4 Haveri India Super Mart 2
5 Ecity-5 Badami India Kirani angadi 1
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.