pandas 如何在每行开头添加字符串?

kmpatx3s  于 2022-11-27  发布在  其他
关注(0)|答案(2)|浏览(193)

我想在每一行的开头添加一个字符串(正数或负数),具体取决于列中的值:

根据屏幕截图,我一直收到ValueError

li9yvcax

li9yvcax1#

若要让泛型方法行程任意数目的数据行,请使用pandas.from_dummies

cols = ['positive', 'negative']

user_input_1.index = (pd.from_dummies(user_input_1[cols]).squeeze()
                      +'_'+user_input_1.index
                      )

输入示例:

Score  positive  negative
A      1         1         0
B      2         0         1
C      3         1         0

输出量:

Score  positive  negative
positive_A      1         1         0
negative_B      2         0         1
positive_C      3         1         0
5lhxktic

5lhxktic2#

按条件使用Series.map作为前缀并添加到索引:

df.index = df['positive'].eq(1).map({True:'positive_', False:'negative_'}) + df.index

或者使用numpy.where

df.index = np.where(df['positive'].eq(1), 'positive_','negative_') + df.index

相关问题