我有一个数据框,需要在我正在创建的类中通过几种方法传递它。唯一的问题是,当我调用每个函数时,在下一个函数中不会记住在上一个函数中发生的更改。有人可以帮忙组织此代码吗?当我调用该类的实例时,它说“未定义df”。
def query(self):
df = pd.read_sql('''
SELECT date, city, flight
FROM TableName
WHERE DATEPART(m, date) = DATEPART(m, DATEADD(m, -1, getdate()))
ORDER BY date
''', cnxn_str)
return df
def sort_df(self, df):
df.head()
instance.query()
instance.sort_df()
<ipython-input-51-573e2eff6896> in <module>()
1 Instance.query()
----> 2 Instance.sort_df(df)
NameError: name 'df' is not defined```
答案 0 :(得分:0)
好像您的class Daten {
final String name;
final bool toggle;
Daten(this.name, this.toggle);
Daten.fromJson(Map<String, dynamic> json) :
name = json['name'],
toggle = json['toggle'];
Map<String, dynamic> toJson() =>
{
'name': name,
'toggle' : toggle,
};
}
json:
[
{
"name": "Test1",
"toggle": "false"
},
...
]
main:
Future loadTextList() async {
String content = await rootBundle.loadString('load_json/data.json');
List collection = json.decode(content);
List<Daten> _daten = collection.map((json) => Daten.fromJson(json)).toList();
...
ListView.builder(
...
child: Text("Toggle"),
onPressed: (){
},
)
函数期望传递参数:
sort_df
如您所见,定义了def sort_df(self, df):
df.head()
参数之后,您定义了self
元素。尝试传递数据框元素:
df
问候