我有一个函数可以根据一个文件的内容来创建print
:
import pandas as pd
def DataFrameConverter(file):
T = pd.read_fwf(file, header= None, names=['1','2','3','4','5','6','7','8','9'])
T = T.rename(index={0:'A',1:'B',2:'C',3:'D',4:'E',5:'F',6:'G',7:'H',8:'I'})
df = pd.DataFrame(T)
print(df)
以及被认为允许用户通过用用户输入替换'X'
值来修改DataFrame的函数:
def modifyDF(variable):
while df.isin(['X']).any().any():
print('')
x = input('row: ')
y = input('col: ')
v = input('value: ')
print('')
df.loc[x,y] = v
print(df)
现在我想让用户输入一个文件名,读取DataFrame,然后让用户修改它,我试着调用转换函数,并像这样保存结果:
variable = DataFrameConverter(file = input('File name: '))
然后像这样传递
modifyDF(variable)
但是,我收到错误消息,说df
没有定义。代码有什么问题?如何使modifyDF
使用由DataFrameConverter
创建的DataFrame
?
2条答案
按热度按时间zour9fqk1#
在不知道您希望实现什么的确切细节的情况下,我认为您所得到的是希望从第一个函数返回 Dataframe 以供稍后使用。
或者您可能希望使用每个函数都可以访问的全局变量:
juzqafwq2#
得到你想要的最小值
在DataFrameConverter函数中,实际上并不返回任何结果。
我想如果你换句台词:
将成为:
你会得到你想要的。
旁注