Python 访问DataFrame方法调用中的DataFrame对象

Python 访问DataFrame方法调用中的DataFrame对象,python,r,pandas,dataframe,Python,R,Pandas,Dataframe,不是使用我调用方法的dataframe对象的名称,而是有它的简写名称吗? 假设我想做这样的事情 long_data_frame_name.long_column_name.fillna(long_data_frame_name.long_column_name.mean()) long_data_frame_name.long_column_name.fillna(self.mean()) 我希望能把它缩短成 long_data_frame_name.long_column_

不是使用我调用方法的dataframe对象的名称,而是有它的简写名称吗? 假设我想做这样的事情

   long_data_frame_name.long_column_name.fillna(long_data_frame_name.long_column_name.mean())
  long_data_frame_name.long_column_name.fillna(self.mean())
我希望能把它缩短成

   long_data_frame_name.long_column_name.fillna(long_data_frame_name.long_column_name.mean())
  long_data_frame_name.long_column_name.fillna(self.mean())
Self不起作用(我试过:))。我认为在
R plyr
中有
可以满足我的要求


编辑:为了清楚起见,我知道我可以将冗长的变量分配给另一个变量,但我希望避免临时变量将名称空间弄乱。

否,但您可以事先创建一个速记引用。例如:

ldfn = long_data_frame_name.long_column_name
然后做:

ldfn.fillna(ldfn.mean(), inplace=True)
需要
inplace=True
,否则
.fillna
将返回一个新的
DataFrame
对象,而不是更新您提供的对象

这是一个完整的例子。首先,我们使用缺少的值设置demo
DataFrame

import numpy as np
import pandas as pd

df = pd.DataFrame(np.ones((5,5)), columns=['aa','bb','cc','dd','ee'])
df.iloc[2,2] = np.nan
df

   aa   bb   cc   dd   ee
0  1.0  1.0  1.0  1.0  1.0
1  1.0  1.0  1.0  1.0  1.0
2  1.0  1.0  NaN  1.0  1.0
3  1.0  1.0  1.0  1.0  1.0
4  1.0  1.0  1.0  1.0  1.0
接下来,我们使用
inplace=True
进行填充,并查看应用于原始
DataFrame
对象
df

dflc = df.cc
dflc.fillna(dflc.mean(), inplace=True)
df

    aa   bb   cc   dd   ee
0  1.0  1.0  1.0  1.0  1.0
1  1.0  1.0  1.0  1.0  1.0
2  1.0  1.0  1.0  1.0  1.0
3  1.0  1.0  1.0  1.0  1.0
4  1.0  1.0  1.0  1.0  1.0    

我很感激你的回答,但我认为它没有抓住我问题的重点。我知道我可以将冗长的变量分配给另一个变量,但我希望避免临时变量将名称空间弄乱。然后答案是“否”: