【问题标题】:The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any()Series 的真值是模棱两可的。使用 a.empty、a.bool()、a.item()、a.any()
【发布时间】:2019-10-06 09:59:07
【问题描述】:

enter image description here 这是我的代码。当每个属性的字符串长度等于1并且字符串为'0'时,我想执行字符串replace函数。代码块如下:

while ((data['Minutes'].str.len()) == 1):
    if (data['Minutes']=='0'):
        data["Minutes"]= data["Minutes"].str.replace("0", "00", case = False)
    else:
        data["Minutes"]=data["Minutes"]

但我得到一个错误:

The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().

下面的链接是我正在处理的列,我用0 填写了NaN。 然后我将它与我的hrs col 结合起来。然后我将新的 col 转换为 datetime 数据类型。

例如:我的第三行将显示为 19:0... 但是当我将其转换为 datetime 数据类型时,我遇到了问题。因此,我想得到 19:00。我试图用上面的代码来实现它。

请原谅我的解释能力很差。我对 python 和机器学习都很陌生。这是我的第一篇 stackoverflow 帖子。从现在开始,我会尽量让我更清楚。

【问题讨论】:

  • data 是什么类型?你的问题与机器学习有什么关系?请拿起tour阅读How to Ask
  • 请在您的问题中包含完整的回溯和更多代码
  • 这没什么意义。你需要学习一些关于 Pandas 的教程;你基本上是在说while [True, False, True]:
  • 我几乎可以肯定这是一个 XY 问题。
  • 我非常抱歉给大家带来麻烦。我是这个平台的新手,我正在努力学习。我已经更改了我的帖子,我添加了我正在处理的 col 的图像。我也试图解释我试图寻求的输出。感谢您回来。

标签: python python-3.x pandas datetime machine-learning


【解决方案1】:

您所需要的要简单得多。只需做而不是所有代码:

data.loc[data['Minutes'] == '0', 'Minutes'] = '00'

用简单的英语表示:将值“00”放在“分钟”列的当前行值为“0”且该列为“分钟”的单元格中

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-01
    • 2021-08-12
    • 2019-05-04
    • 2018-03-28
    • 1970-01-01
    • 2021-09-09
    • 1970-01-01
    • 2021-11-20
    相关资源
    最近更新 更多