如何解决为什么我创建熊猫数据帧的函数在调用时将 dtype 更改为 none
我正在处理 csv 文件,我在编写没有函数的代码并且它工作正常,尽管在尝试用字符串填充时会出现一些问题,但在尝试之前除外。 出于某种原因,它在创建 while 循环之前不起作用。 我的问题是为什么通过读取调用函数时传递的 csv 文件名在函数内部创建的数据帧对象返回一个空对象?我以为当数据帧在内存中时它不会被破坏,我错过了什么?
我的代码:
import pandas as pd
grossmargin = 1.2
def read_wholesalefile(name):
mac = name
apple = pd.read_csv(mac)
apple['price'] = apple['Wholesale'] * grossmargin
while True:
try:
apple.fillna('N/A',inplace=True)
break
except ValueError:
print('Not Valid')
read_wholesalefile('Wholesalelist5182021.csv')
解决方法
抱歉各位,我自己弄明白了: 我错过了范围,再次为 newb 的东西感到抱歉。几个月前(去年 12 月),我刚刚开始使用 Python 进行编码,并且正在学习。
对我有用的是在函数内添加作用域 Global,严重的是我不知道数据帧在函数内表现为变量......。
#My Modified code that works
import pandas as pd
grossmargin = 1.2
def read_wholesalefile(name):
global apple
mac = name
apple = pd.read_csv(mac)
apple['price'] = apple['Wholesale'] * grossmargin
while True:
try:
apple.fillna('N/A',inplace=True)
break
except ValueError:
print('Not Valid')
read_wholesalefile('Wholesalelist5182021.csv')
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。