如何在熊猫中合并两列

时间:2018-07-31 21:12:18

标签: python python-3.x pandas

是否可以将非None的test1列值组合到测试列。

我尝试进行串联,但无法正常工作。

# make criteria false values NaN
criteria[~criteria] == None
# forward fill the NaNsafter the True values limiting to 2
criteria = criteria.fillna(method="ffill", limit=1)
# whatever's left, make False
criteria = criteria.fillna(False)
# and you mask is complete
df_changed = df_names[criteria]

这就是我得到的。 SSD和HDD等值已替换为NaN。

split['new'] = split['test'] + split['test1'] 数据框:

split

我尝试过,但无法解决。

4 个答案:

答案 0 :(得分:2)

首先使用None用空字符串替换fillna

split["new"] = split["test"].fillna("") + split["test1"].fillna("")

或者如果它们实际上是字符串"None"

split["new"] = split["test"].str.replace("None", "") + split["test1"].str.replace("None", "")

答案 1 :(得分:1)

在添加它们之前尝试fillna

split['newcol'] = split.replace('None',np.nan).fillna('')[['test','test1']].sum(1)

答案 2 :(得分:1)

最新答案,但您也可以使用:

import numpy as np
split['new'] = "{}{}".format(split['test'], split['test1'].replace(np.nan, '', regex=True))

答案 3 :(得分:0)

首先需要使用文本访问器df [“ column”]。str,然后才能使用字符串函数。

类似的东西:

split['new'] = split['test'].str.cat(split['test1'].str)