连接来自同一数据框架的列



所以,我有这个数据框和一些列被划分为'Q7_part_1', 'Q7_part_2'…但它们都来自同一个问题。

我要做的是:将这些列合并为一列并排除nan。我试过df = df[['Q7_Part_1', 'Q7_Part_2'...]].agg(','.join ,axix=1)也试过df['Q7'] = df['Q7_Part_1'].map(str) + df['Q7_Part_2'].map(str)...]但这个只是把所有的都连在一起包括nan值。我还能做什么?

dataframe

您漏了一个关键部件-dropna()

import pandas as pd
import numpy as np
df = pd.DataFrame({ "question":["q1","q2","q3"],'Q7_part_1':["Q1 part 1","Q2 part 1", np.nan], 'Q7_part_2':["Q1 part2",np.nan,"Q3 part 2"]})
df.assign(Q7=df.loc[:,[c for c in df.columns if "part" in c]].apply(lambda s: ",".join(s.dropna().astype(str)), axis=1))
Q7Q1 part 1,Q1 part2Q2 part 1

最新更新