繁体   English   中英

使用 Pandas 从现有列创建新列到数据框

[英]Create a new column to data frame from existing columns using Pandas

我不确定如何在这里构建数据框,但我正在寻找一种方法来从多列中获取数据并将它们组合成一列。 不是作为一个总和,而是作为一个联合价值。

Ex. MB|Val|34567|W123 -> MB|Val|34567|W123|MB_Val_34567_W123.                                          

到目前为止,我尝试的是创建一个条件变量,该变量调用与其中的值相同的特定列

conditions = [(Groupings_df['GroupingCriteria1'] == 'MB')]

然后是一个值变量,它将在新列中包含我想要的内容

values = ['MB_Val_34567_W123']

最后对它进行分组

Groupings_df['GroupingColumn'] = np.select(conditions,values)

这适用于 1 行,但在具有数千行的 df 上继续手动更改 values 变量 (34567) 中的数字是低效的

IIUC,您想创建一个新列作为每一行的串联:

df = pd.DataFrame({'A': ['MB'], 'B': ['Val'], 'C': [34567], 'D': ['W123']})
df['E'] = df.astype(str).apply(lambda x: '_'.join(x), axis=1)
print(df)

# Output
    A    B      C     D                  E
0  MB  Val  34567  W123  MB_Val_34567_W123

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM