使用pandas.read_csv讀取數據時,是否可以避免自動命名空名稱的列(例如在「Unnamed:13」中產生)?熊貓:在讀取csv時不要重命名列
- 例
名行csv文件:
["name_1", "name_2", "Unnamed: 3", "name_4"]
需要的名稱:
["name_1", "name_2", "", "name_4"]
通過read_csv產生
name_1;name_2;;name_4
名稱
使用pandas.read_csv讀取數據時,是否可以避免自動命名空名稱的列(例如在「Unnamed:13」中產生)?熊貓:在讀取csv時不要重命名列
名行csv文件:
["name_1", "name_2", "Unnamed: 3", "name_4"]
需要的名稱:
["name_1", "name_2", "", "name_4"]
通過read_csv產生
name_1;name_2;;name_4
名稱
您可以加載CSV後重命名列:
def rename(col):
if col.startswith("Unnamed: "):
return ""
else:
return col
data.columns = [rename(col) for col in data.columns]
我不會推薦它,你應該確保沒有開始,沒有實際列「無名」,但除此之外,這應該爲你工作。
後你讀它,你可以不喜歡
df.columns = [x if not x.startswith('Unnamed') else i for i,x in enumerate(df.columns)]
將與對應於該列的地方整數代替無名列。如果你真的希望它僅僅是空白的,你可以做
df.columns = [x if not x.startswith('Unnamed') else "" for x in df.columns]
,你可以提供自己的姓名 –
@PaulH:我想用的名字,因爲他們,只是保持一個空字符串時的名字是在csv中清空。 –
所以你會有一堆空白的列名?這完成了什麼?您可以通過並重命名具有「未命名」的列並替換爲「」。 –