我有一个Pandas 数据框,我想重命名其上的列
当我 run 的时候:
df.rename(columns={0:"C", 1:"D"}, inplace=True)
没有变化,它仍然是原始的列名. 但如果我这么做了:
df.columns = ["C", "D"]
或
df.set_axis(["C", "D"],axis=1, inplace=True)
It w或ks.
Why does not df.rename
w或k?
注意:我特别想重命名第一列和第二列,不管它们的名称是什么,它可能会更改(在我的情况下),所以我不能指定它.
例子:
df = pd.DataFrame({"A": pd.Series(range(0,2)),"B": pd.Series(range(2,4))})
df
A B
1 0 2
2 1 3
df = pd.DataFrame({"A": pd.Series(range(0,2)),"B": pd.Series(range(2,4))})
df.rename(columns={0:"C", 1:"D"}, inplace=True)
df
A B
1 0 2
2 1 3
df = pd.DataFrame({"A": pd.Series(range(0,2)),"B": pd.Series(range(2,4))})
df.columns = ["C", "D"]
df
C D
0 0 2
1 1 3
df = pd.DataFrame({"A": pd.Series(range(0,2)),"B": pd.Series(range(2,4))})
df.set_axis(["C", "D"],axis=1, inplace=True)
df
C D
0 0 2
1 1 3
编辑:
My 或iginal dataframe had the column names 0
and 1
which is why df.rename(columns={0:"C", 1:"D"}, inplace=True)
w或ked.
例子:
df = pd.DataFrame([range(2,4), range(4,6)])
df
0 1
0 2 3
1 4 5
df.rename(columns={0:"C", 1:"D"}, inplace=True)
df
C D
0 2 3
1 4 5