gpt4 book ai didi

python - 当列名是整数时合并列

转载 作者:行者123 更新时间:2023-11-30 22:39:31 25 4
gpt4 key购买 nike

这是我的数据框:

A   B     1    2    5

1 1 26 5 5
2 6 4 2 2
2 3 8 7 7
2 4 3 10 19

所以在这里你可以看到列是 'A' 'B' '1' '2' '5'我想创建一个函数,它接受一个参数作为 int,然后创建一个新的数据帧,其中包含“A”“B”列和作为参数传递的列。所以它会像这样,但是我不确定当其名称是 int 时如何获取列,有什么想法吗?谢谢!:

def merge(arg):
new_df=pd.concat([df.A, df.B, df.arg], axis=1 )
merge(5)

A B 5

1 1 5
2 6 2
2 3 7
2 4 19

最佳答案

最简单的解决方案是按 copy 的子集进行选择:

def merge(arg):
return df[['A', 'B', str(arg)]].copy()

print (merge(5))
A B 5
0 1 1 5
1 2 6 2
2 2 3 7
3 2 4 19
<小时/>

如果列是 str,使用 concat 的解决方案仅转换为 str - 效果很好,但速度较慢:

def merge(arg):
return pd.concat([df.A, df.B, df[str(arg)]], axis=1 )

print (merge(5))
A B 5
0 1 1 5
1 2 6 2
2 2 3 7
3 2 4 19

如果int:

def merge(arg):
return pd.concat([df.A, df.B, df[arg]], axis=1 )

print (merge(5))
A B 5
0 1 1 5
1 2 6 2
2 2 3 7
3 2 4 19

关于python - 当列名是整数时合并列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43147515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com