我想创建一个名为“texto2”的列,根据数据帧的行(称为text_ind)显示不同的结果。换句话说,我想写一条消息,以防列“VERIF”是可以的,否则我不想要任何消息。消息将根据行的不同而有所不同
数据帧
text_ind = pd.DataFrame({'ISS_2019': [10, 20, 50], 'ISS_2020': [11, 24, 40],
'change_ISS': ['10%', '20%', '-20%'],
'VAR_ISS_REAL': ['crescimento', 'crescimento', 'queda']})
所需数据帧
text_ind = pd.DataFrame({'ISS_2019': [10, 20, 50],'ISS_2020': [11, 24, 40],
'change_ISS': ['10%', '20%', '-20%'], 'VAR_ISS_REAL': ['crescimento', 'crescimento', 'queda'],
'texto2': ['com um crescimento real de 10% em comparao com 2019', 'com um crescimento real de 20% em comparaocom 2019', 'com uma queda real de 20% em comparao com 2019']})
剧本
text_ind['FLAG'] = pd.notnull(text_ind[text_ind.columns[1:2]]).astype(int)
text_ind['FLAG2'] = pd.notnull(text_ind[text_ind.columns[2:3]]).astype(int)
text_ind.loc[text_ind['FLAG'] == 1, 'VERIF'] = 'OK'
text_ind.loc[text_ind['FLAG2'] == 1, 'VERIF'] = 'OK'
text_ind['texto2'] = text_ind['VERIF'].apply(lambda x: 'com um(a) {x['VAR_ISS_REAL']}
real de {x['change_ISS']} em comparação com 2019' if x == 'OK' else '')
需要修理的东西:
f
前缀李>'
),则必须\'
或VERIF
上使用apply,但您引用的是其他列VAR_ISS_REAL
和change_ISS
我对您的
.apply
进行了以下更改,使其基本保持不变:apply
axis=1
以便逐行处理(因此x
现在是行)输出:
您使用lambda的方法不正确。改为使用它来创建
texto2
列相关问题 更多 >
编程相关推荐