gpt4 book ai didi

python - 将某些列连接到一个,每个循环中没有标准列数

转载 作者:行者123 更新时间:2023-12-01 08:50:34 27 4
gpt4 key购买 nike

我有一本字典:

#file1 mentions 2 columns while file2 mentions 3
dict2 = ({'file1' : ['colA', 'colB'],'file2' : ['colY','colS','colX'], etc..})

我想在每个文件的新列中连接上述列。这应该是自动化的。

for k, v in dict1.items():
df = pd.DataFrame.from_records(data=arcpy.da.SearchCursor(k, v)) #reads to a df
df['new'] = df['first_col'].astype(str) + df['second_col'] etc.. #concatenation

我如何才能每次都进行这项工作,而与每个字典中的列数无关?

只需连接所有提到的列即可。

示例:

a = {'colA' : [123,124,112,165],'colB' :['alpha','beta','gamma','delta']}
file1 = pd.DataFrame(data = a)
file1

colA colB
123 alpha
124 beta
112 gamma
165 delta

b = {'colY' : [123,124,112,165],'colS' :['alpha','beta','gamma','delta'], 'colX' :[323,326,378,399] }
file2 = pd.DataFrame(data = b)
file2

colY colS colX
123 alpha 323
124 beta 326
112 gamma 378
165 delta 399

结果:

文件1

col_all
123 alpha
124 beta
112 gamma
165 delta

文件2

call_all
123 alpha 323
124 beta 326
112 gamma 378
165 delta 399

最佳答案

我相信你需要改变:

df['new'] = df['first_col'].astype(str) + df['second_col']

将所有列转换为字符串,然后使用apply连接它们和 axis=1 用于按行处理:

df['new'] = df.astype(str).apply(' '.join, axis=1)

关于python - 将某些列连接到一个,每个循环中没有标准列数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53150298/

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