当前位置: 首页 > 面试题库 >

pandas结合了两个字符串而忽略了nan值

叶德本
2023-03-14
问题内容

我有两列带有字符串。我想将它们结合起来并忽略nan值。这样:

ColA, Colb, ColA+ColB
str   str    strstr
str   nan    str
nan   str    str

我试过了,df['ColA+ColB'] = df['ColA'] + df['ColB']但是如果任一列是nan,那都会创建一个nan值。我也考虑过使用concat

我想我可以解决这个问题,然后再使用一些,df.ColA+ColB[df[ColA] = nan] = df[ColA]但这似乎很可行。


问题答案:

调用fillna并传递一个空的str作为填充值,然后sum使用param
axis=1

In [3]:
df = pd.DataFrame({'a':['asd',np.NaN,'asdsa'], 'b':['asdas','asdas',np.NaN]})
df

Out[3]:
       a      b
0    asd  asdas
1    NaN  asdas
2  asdsa    NaN

In [7]:
df['a+b'] = df.fillna('').sum(axis=1)
df

Out[7]:
       a      b       a+b
0    asd  asdas  asdasdas
1    NaN  asdas     asdas
2  asdsa    NaN     asdsa


 类似资料:
  • 问题内容: 我想将多个csv文件合并为一个df。 它们都是这种通用格式,带有两个索引列: 等等… 合并的df为: 我正在尝试此代码: 但我收到此错误: 问题答案: 我认为你需要,而不是:

  • 问题内容: 假设我有两个xml字符串 如何编写一个比较这两个字符串并忽略元素顺序的测试? 我希望测试尽可能短,没有10行XML解析等的位置。我正在寻找一个简单的断言或类似内容。 我有这个(不起作用) 问题答案: 我原来的答案已经过时了。如果必须再次构建它,我将使用xmlunit 2和xmlunit- matchers。请注意,对于xml单元,不同的顺序始终是“相似”而不是相等。 如果有人仍然不想使

  • 问题内容: 有一个实体A引用(多对一)实体B,从B到A的反向(映射)引用。也有从A到C的引用,以及从C到A的反向引用。当我发布entityManager.remove(A )然后flush(),“ delete”没有发芽!但也没有例外。就像根本没有调用remove()一样。为什么会这样?如果在remove()之前,我们从反向引用B.listOfA和C.listOfA中提取A,则会按预期生成“删除”

  • 我有一个熊猫数据框(通过导入csv文件创建)。我想用NaN替换空白值。这些空白值中有些是空的,有些包含(可变数量的)空格,,,等等。 使用这个线程中的建议 它会替换所有只包含空格的字符串,但也会替换每个包含空格的字符串,这不是我想要的。 如何仅用空格和空字符串替换字符串?

  • 我有一个SBT/Scala项目,该项目包含其依赖项“ch.qos.logback”%“logback-classic”%“1.0.13”,并包含一个logback.xml文件,其内容如下: 当我运行该程序时,得到的输出如下: ... 我启用了logback配置调试,这样您就可以看到logback声称将该类的loglevel设置为ERROR。但仍然记录了这些消息。

  • 我刚刚在两个老项目中使用了NetBeans8.0.1和GlassFish4.1,它们与NetBeans8.0和GlassFish4.0配合得很好。 JDBC资源和连接池由glassfish-resources.xml定义(由NetBeans在我使用“Create Persistent Unit”和“new Data Source”选项定义新实体时生成)。 如果我在服务器上通过asadmin的add