Python 访问DataFrame方法调用中的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_
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
对象,而不是更新您提供的对象
这是一个完整的例子。首先,我们使用缺少的值设置demoDataFrame
:
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
我很感激你的回答,但我认为它没有抓住我问题的重点。我知道我可以将冗长的变量分配给另一个变量,但我希望避免临时变量将名称空间弄乱。然后答案是“否”: