将字符串连接到熊猫系列中?

时间:2019-07-03 21:06:06

标签: python pandas

一段我认为不会起作用的代码。我只想在另一列代表“ X”的情况下将“ X”添加到标签中。但是,我不能只说df['Tag With X' = df['Tag'] + "X",我以为我可以这样做:

MaterialsReport_df['Scoring Site Including X'] = np.where(MaterialsTracking_df['# BOXES'] == "X",
                                                          MaterialsTracking_df['Scoring Site DBN'] + "X",
                                                          MaterialsTracking_df['Scoring Site DBN'])

这将显示错误elementwise comparison failed; returning scalar instead...result = method(y)

当在末尾添加.astype(str)时,我知道这可行。我只是不明白为什么。

特别是因为当我检查列的类型和转换为字符串的列的类型时,Python都说两者仍然是<class 'pandas.core.series.Series'>

1 个答案:

答案 0 :(得分:0)

您尝试过吗:

   df = MaterialsReport_df
   df['Scoring Site Including X'] = df.apply(lambda x: x['Scoring Site DBN'] + 'X' if x['# BOXES'] == 'X' else x['Scoring Site DBN'], axis=1)

如果“评分站点DBN”的每个元素都是一个字符串,则应该可以。