我有字典:
char *ptr = reinterpret_cast<char*>(GetLocalPlayer_EX());
printf("%p\n", ptr);
我想对每个文件在新列中进行上述列的串联。 这应该是自动化的。
#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
答案 0 :(得分:0)
您必须将pandas.concat()与axis = 1一起使用,
通过传入,沿x轴水平组合DataFrame对象 轴= 1。
import pandas as pd
a = {'colA' : [123,124,112,165],'colB' :['alpha','beta','gamma','delta']}
df_1 = pd.DataFrame(data = a)
b = {'colY' : [123,124,112,165],'colS' :['alpha','beta','gamma','delta'], 'colX' :[323,326,378,399] }
df_2 = pd.DataFrame(data = b)
df_new = pd.concat((df_1, df_2), axis=1)
print(df_new)
输出:
colA colB colS colX colY
0 123 alpha alpha 323 123
1 124 beta beta 326 124
2 112 gamma gamma 378 112
3 165 delta delta 399 165
答案 1 :(得分:0)
将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