Python 将文本列动态合并为一列
我有一个如下所示的数据库:Python 将文本列动态合并为一列,python,pandas,Python,Pandas,我有一个如下所示的数据库: ID A B C D.... 1 HKU 2 3MC 3 Main 4 Main FT 数据框每周更新一次,如果列中没有记录,则该列不会出现在数据框中。通常有20多列。例如,假设这是第1周,“B”列中有一条记录,但如果下周B列中没有记录,那么B列将不会包含在数据帧中(我无法控制数据帧的后端设计) 我有一个连接列的代码,但是当一个列名不在代码中时,我得到一个
ID A B C D....
1 HKU
2 3MC
3 Main
4 Main FT
数据框每周更新一次,如果列中没有记录,则该列不会出现在数据框中。通常有20多列。例如,假设这是第1周,“B”列中有一条记录,但如果下周B列中没有记录,那么B列将不会包含在数据帧中(我无法控制数据帧的后端设计)
我有一个连接列的代码,但是当一个列名不在代码中时,我得到一个错误,说变量不在数据帧中
new_ADM1['concat'] = pd.Series(new_ADM1[['A, 'B','C'...]].fillna('').values.tolist()).str.join(' ')
我需要动态创建一个包含所有非ID列的列的连接列,而不管我的dataframe中有多少列
new_ADM1['concat'] = pd.Series(new_ADM1[['A, 'B','C'...]].fillna('').values.tolist()).str.join(' ')
我希望新的dataframe看起来像这样,带有一个连接列,该列组合了a to中的所有文本。。。按ID排序的列
ID A B C D.... concat
1 HKU HKU
2 3MC 3MC
3 Main Main
4 Main FT Main, FT
df['concat']=df.apply(lambda x:','.join(x.dropna().astype(str)),axis=1)
pd.Series(新的ADM1.drop('ID',1).fillna('').values.tolist()).str.join('')df['concat']=df.apply(lambda x:','.join.join(x.dropna().astype(str)),axis=1)
?pd.Series(新的ADM1.drop('ID',.1.).fillna()).tolist())