在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中整齐地完成这个操作(在一个直接的操作中),而不将子集和重命名操作分开?
您可以使用 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
试试以下代码。
df=df.rename(columns = {'second_A':'A','rename_D':'D'})