在Python中有效地将data.frame列子集和重命名在一起。

问题描述 投票:0回答:2

在R data.table中,你可以同时对列进行子集和重命名。也可以多次选择一列,并在选择时重命名。极为快捷方便。在Python中也可以做同样的事情吗?到目前为止,我所能做的就是分别选择和重命名列。对于这么简单的操作,真的很麻烦!

例如,我的data.table DT有四列A,B,C,D.在R中你可以。

subset_DT = DT[,.(A, B, second_A = A, rename_D = D)]

将A、B、A、D列进行子集,同时将第二列A和D重命名为second_A和rename_D列。所以该子集_DT会有四列;A、B、second_A、rename_D。

如何在Python pandas中整齐地完成这个操作(在一个直接的操作中),而不将子集和重命名操作分开?

python pandas
2个回答
1
投票

您可以使用 assign:

df = pd.DataFrame([list('abcd')], columns=list('ABCD'))
#   A  B  C  D
#0  a  b  c  d

df[['A','B']].assign(second_A = df.A, rename_D = df.D)
#   A  B second_A rename_D
#0  a  b        a        d

0
投票

试试以下代码。

df=df.rename(columns = {'second_A':'A','rename_D':'D'})
© www.soinside.com 2019 - 2024. All rights reserved.