我有一本字典:#file1 mentions 2 columns while file2 mentions 3dict2 = ({'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)file1colA colB123 alpha124 beta112 gamma165 deltab = {'colY' : [123,124,112,165],'colS' :['alpha','beta','gamma','delta'], 'colX' :[323,326,378,399] }file2 = pd.DataFrame(data = b)file2colY colS colX123 alpha 323124 beta 326112 gamma 378165 delta 399
2 回答

偶然的你
TA贡献1841条经验 获得超3个赞
使用时只需pd.concat()用axis=1:
import pandas as pd
a = {'colA' : [123,124,112,165],'colB' :['alpha','beta','gamma','delta']}
b = {'colY' : [123,124,112,165],'colS' :['alpha','beta','gamma','delta'], 'colX' :[323,326,378,399] }
df = pd.concat([pd.DataFrame(i) for i in [a,b]], axis=1)
产量:
colA colB colY colS colX
0 123 alpha 123 alpha 323
1 124 beta 124 beta 326
2 112 gamma 112 gamma 378
3 165 delta 165 delta 399
添加回答
举报
0/150
提交
取消