Python 如何删除和重命名列
对于如下所示的数据帧,我尝试1删除列B,因为它不在Marker的行值中,2然后根据列new_Name下的值将列a、C、D重命名为新名称ColA、ColB、ColC。有什么办法可以做到这一点?我是否需要将列New_Name放入一个列表中,并遍历Dataframe列名称soemhow?非常感谢你的帮助Python 如何删除和重命名列,python,pandas,dataframe,slice,rename,Python,Pandas,Dataframe,Slice,Rename,对于如下所示的数据帧,我尝试1删除列B,因为它不在Marker的行值中,2然后根据列new_Name下的值将列a、C、D重命名为新名称ColA、ColB、ColC。有什么办法可以做到这一点?我是否需要将列New_Name放入一个列表中,并遍历Dataframe列名称soemhow?非常感谢你的帮助 A B C D Marker New_Name 1.0 0.0 0.0 1.0 A
A B C D Marker New_Name
1.0 0.0 0.0 1.0 A ColA
1.0 0.0 0.0 0.0 C ColC
0.0 0.0 0.0 0.0 D ColD
使用映射和df重命名列。重命名:
df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
df.rename(columns={"A": "a", "B": "c"})
print(df):
a c
0 1 4
1 2 5
2 3 6
使用映射和df重命名列。重命名:
df = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
df.rename(columns={"A": "a", "B": "c"})
print(df):
a c
0 1 4
1 2 5
2 3 6
这样就可以将标记名保留为行名
df2=df.drop(columns=['Marker','B']).set_index('New_Name').T.rename_axis('Marker',axis=1)
df2
这样就可以将标记名保留为行名
df2=df.drop(columns=['Marker','B']).set_index('New_Name').T.rename_axis('Marker',axis=1)
df2
你试过什么吗?你试过什么吗?但在这之后,标记列中的值怎么会改变?@user3735871请注意,这是索引name@user3735871`s=df.set\u index'Marker'.reindexcolumns=df.Marker.\renamecolumns=dictzipdf.Marker,df.New\u Name.\rename\u axisNone,axis=1但在这之后,标记列中的值怎么会发生变化?@user3735871注意到了变化,这就是索引name@user3735871`s=df.set_index'Marker'.reindexcolumns=df.Marker.\renamecolumns=dictzipdf.Marker,df.New_Name.\rename_axisNone,axis=1如何根据行中的值动态映射?因为我不知道确切的映射列={A:A,B:c},所以如何根据行中的值动态地进行映射?因为我不知道确切的映射列={A:A,B:c}