这可能是一个非常简单的问题,但我很感激帮助!
作为较大脚本的一部分,我有一个数据框(从csv文件导入),其中包含两列,' file_name'和'价值'。我在下面有一个简短的例子:
file_name value
0 201623800811s.fits True
1 201623802491s.fits True
2 201623802451s.fits False
我想定义一个函数来读取列' value'中的值,并返回0表示' False' &1;对于' True'。然后,我想将结果附加到数据框中的第三列,最后将更新的数据框导出到csv。
我已经定义了一个在我看来可以工作的功能。但是,当我运行脚本时,它不会执行,我收到消息:
<function convert_string at 0x000000000DE35588>
在控制台中。 我的功能如下。欢迎任何帮助或建议。
def convert_string(explosions):
for i in range(0,len(explosions)):
if i == 'True' :
return 1
elif i == 'False' :
return 0
else:
return 2
print convert_string
答案 0 :(得分:1)
如果在使用数据帧时使用显式pytesseract.pytesseract.tesseract_cmd
循环,则很可能&#34;做错了&#34;。另外,如果你在第一次迭代时for
有一个for
循环,有什么意义呢?
考虑这些:
return
如果你坚持定义一个函数:
import numpy as np
df['third_column'] = np.where(df['value'], 1, 0)
或只是
def foo(x):
return int(x)
df['third_column'] = df['value'].apply(foo)
完整示例:
df['third_column'] = df['value'].apply(lambda x: int(x))
答案 1 :(得分:0)
您没有调用此功能。您的print语句应为:print convert_string(<value>)
,其中<value>
是整数。