簡體   English   中英

用不帶引號的引號替換列名

[英]Replace column names with quotations with no quotations

我正在嘗試替換帶有引號的列名並簡單地刪除引號,但是當我嘗試這樣做時:

for x in df.columns:
    x = x.replace('"', '')
    print(x)

什么都沒有發生,報價仍然存在。

我會做這樣的事情

cols = [column_name.replace('"','') for column_name in df.columns] 
df.columns = cols

代碼

import pandas as pd
df=pd.DataFrame({"a":[1,2],'"b"':[3,4]})
print('BEFORE')
print(df)
cols = [column_name.replace('"','') for column_name in df.columns] 
df.columns = cols
print('AFTER')
print(df)

OUTPUT

BEFORE
   a  "b"
0  1    3
1  2    4
AFTER
   a  b
0  1  3
1  2  4

您可以通過編寫以下代碼將其刪除:

col=[]
for x in df.columns:
    x = x.replace('"', '')
    col.append(x)

df.columns=col

要了解有關列重命名的更多信息:檢查此重命名 pandas 中的列

此問題的一個規范解決方案是直接在 header 上使用 pandas str.replace (這是“矢量化”):

df = pd.DataFrame({"a": [1, 2], '"b"': [3, 4]})
df.columns = df.columns.str.replace('"', '')

df

   a  b
0  1  3
1  2  4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM