我想知道是否有一种类似于python类的方法来定义pandas DataFrame,以便我可以更轻松地执行重构或其他类似的IDE操作。
例如,我有一个如下所示的DataFrame,我将其保存到csv文件中:
>>> import pandas as pd
>>> df = pd.DataFrame({'count': [10, 20, 30], 'products': ['apple', 'banana', 'lemon']})
>>> df.to_csv('products.csv')
然后,我在另一个文件中读取了此csv,可以直接访问列
>>> df = pd.read_csv('products.csv')
>>> df.products
0 apple
1 banana
2 lemon
现在,我想将该列重命名为PyCharm中的其他名称,以使所有用法也都重命名。
有没有一种方法可以将那些DataFrames包装在某个类(或其他类)中,以便我可以定义列并轻松地对其进行重构?
我的想法是将此DataFrame定义为将从具有隐式定义字段的pandas DataFrame继承的类:
class ProductsDataFrame(DataFrame):
def __init__(self, *args):
super().__init__(*args)
self.products
self.count
然后通过以下方式对其进行初始化:
df: ProductsDataFrame = ProductsDataFrame({'count': [10, 20, 30], 'products': ['apple', 'banana', 'lemon']})
但这仍然无法帮助PyCharm理解df.products
一个文件中的文件与df.products
另一个文件中的文件是同一字段,并且在使用时无法正确重命名shift+f6
在玩了一段时间之后,我确定了:
class ProductsDataFrame(DataFrame):
def __init__(self, *args):
super().__init__(*args)
self.products = self.products
self.count = self.count
然后通过以下方式对其进行初始化:
df: ProductsDataFrame = ProductsDataFrame({'count': [10, 20, 30], 'products': ['apple', 'banana', 'lemon']})
这样一来,如果我在多个地方多次出现该类,那么我可以轻松地对其进行重构,就像我在PyCharm中重构其他类以保留所有DataFrame功能一样。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句