Issue
from pandas import DataFrame
df = DataFrame({
'A' : [1, 2, 3]
, 'B' : [3, 2, 1]
})
print(df.rename(columns={'A': 'a', 'B': 'b'}))
I know that I can rename columns like the above.
But sometimes, I just what to rename columns by position so that I don't have to specify the old names.
df.rename(columns=['a', 'b']))
df.rename(columns={0: 'a', 1: 'b'})
I tried the above. But none of them work. Could anybody show me a concise way to rename without specifying original names?
I looking for a way with minimal code. Ideal, this should and could have been supported by the current function interface of rename()
. Using a for-loop or something to create a dictionary with the old column names could be a solution but not preferred.
Solution
You might assign directly to pandas.DataFrame.columns
i.e.
import pandas as pd
df = pd.DataFrame({'A':[1, 2, 3],'B':[3, 2, 1]})
df.columns = ["X","Y"]
print(df)
output
X Y
0 1 3
1 2 2
2 3 1
Answered By - Daweo
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.