当前位置: 首页 > 知识库问答 >
问题:

无法使用Num2word Python库将Pandas系列中的数字转换为单词

端木夕
2023-03-14

我无法在pandas dataframe中创建一个新列,该列使用python num2words库将数字转换为单词,它使用简单的int或float参数,但不使用series

这就是我曾经尝试过的:

data['words'] = data['Value'].apply(lambda row : num2words(row['Value']))

TypeError Traceback(最近的调用最后)在----

#############################################################################################################################################

pandas_libs\lib.pyx熊猫_libs.lib.map_infer()

在行----

TypeError:“float”对象不可下标

共有1个答案

景永望
2023-03-14

实现这一点的一种方法是定义一个简单的函数,该函数将作为输入,并返回num2words(行['Value'])

然后,您可以将其应用于轴=1的DataFrame。

def f(row):
    return num2words(row['Value'])

data['words'] = data.apply(f, axis=1)

也可以直接应用于该列。

data['words'] = data['Value'].apply(num2words)
 类似资料:
  • 问题内容: 我有一个数据框(df),看起来像: 对于整个时间序列,我尝试将今天的值除以昨天,并使用以下命令记录结果: 但是我得到以下错误: 我怎样才能解决这个问题?我试图使用以下方法将其转换为float: 但是什么也无法工作。 问题答案: 您可以改用numpy.log。Math.log需要一个数字,而不是数组。

  • 问题内容: 我有一个如下的Pandas DataFrame TimeReviewed是系列类型 我已经在下面尝试过,但是它仍然没有改变Series类型 如何将df.TimeReviewed更改为DateTime类型并分别拉出年,月,日,时,分,秒?我是python的新手,感谢您的帮助。 问题答案: 您不能:按定义列是。也就是说,如果使(所有元素的类型)类似日期时间,则可以通过访问器(docs)访问

  • 所以我的数据集有一些n个日期的位置信息。问题是每个日期实际上是不同的列标题。例如CSV看起来像 我想让它看起来像 我的问题是我不知道该列中有多少个日期(尽管我知道它们总是在name之后开始)

  • 问题内容: 我需要将1到99之间的数字转换为单词。这是我到目前为止所得到的: 现在,到目前为止,我最大的问题是if,elif和else语句似乎不起作用。仅第一个if语句运行。 第二个问题是创建20-99之间数字的字符串版本。 PS:是的,我知道num2word库,但不允许使用它。 问题答案: 您的第一条陈述逻辑不正确。除非等于或小于1,否则该语句 始终为 True;否则,该语句 始终为 True。

  • 假设我有一个像这样的数据框... 我想把这个列转换成int类型。我可以很容易地做到这一点与。。。 但是如果我的数据帧看起来像这样。。。 我尝试将其从转换为然后我得到了这个错误 为什么这样不行?我该如何正确地将其转换为int?

  • 问题内容: 我有一个名为数据帧作为 我想将列转换为布尔值(当状态为“已交付”而状态为“未交付”时),但是如果状态既不是“未交付”也不是“未交付”,则应将其视为“类似”。 我想用一个字典 所以我可以轻松地添加其他字符串,可以将其视为或。 问题答案: 您可以使用: