【发布时间】:2020-12-16 12:00:33
【问题描述】:
我正在努力减少数据框中不需要的数据列,但让它在 OOP 的范围内工作。数据框中的列从“A”到“M”。
例子:
import pandas as pd
# columns 'A' 'B' and 'C' are what I want kept
vibe_df = pd.read_csv('C:Location/Document.csv')
vibe_df = vibe_df[['DateTime', 'A', 'B', 'C']]
以上方法可行,但是,我想使用 OOP
import pandas as pd
class MemoryVibes:
def __init__(self,dataframe):
self.dataframe = dataframe
def keep_only_column(dataframe):
dataframe = dataframe[['DateTime', 'A', 'B', 'C']]
MemoryVibes.keep_only_column(vibe_df)
vibe_df
没有抛出任何错误,但所有列仍然存在。请告知,因为我的编码经验仍处于初级阶段。
【问题讨论】:
-
您需要从
self.dataframe中删除列,然后将返回的DataFrame分配给self.dataframe,即self.dataframe = self.dataframe[['DateTime', 'A', 'B', 'C']]。从帖子中不清楚您是打算修改最初传入的数据框还是必须在函数中传递的数据框。
标签: python-3.x pandas dataframe oop