首页 > 解决方案 > 如何用多个数据框列的值替换列中的值

问题描述

在我的数据框中,我有多个列,我想将其值替换为一列。例如,我希望 MEDICATIONS: 中的 NaN 值如果存在于除 MEDICATION 之外的任何其他列中,则将其替换为一个值:

输入:

输入

预期输出:

在此处输入图像描述

`

df['MEDICATIONS'].combine_first(df["除MEDICATIONS之外的其他列:"])

`

数据集链接:

https://drive.google.com/file/d/1cyZ_OWrGNvJyc8ZPNFVe543UAI9snHDT/view?usp=sharing

标签: python-3.xpandasdataframedata-sciencedata-cleaning

解决方案


像这样的东西?

在此处输入图像描述

import pandas as pd

df = pd.read_csv('data - data.csv')
del df['Unnamed: 0']
df['Combined_Meds'] = df.astype(str).values.sum(axis=1)
df['Combined_Meds'] = df['Combined_Meds'].str.replace('nan', '', regex=False)
cols = list(df.columns)
cols = [cols[-1]] + cols[:-1]
df = df[cols]
df.sample(10)

推荐阅读