Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何删除和重命名列_Python_Pandas_Dataframe_Slice_Rename - Fatal编程技术网

Python 如何删除和重命名列

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

对于如下所示的数据帧,我尝试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          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}