0
我有一个数据帧df
,并定义一个函数,使用applymap
应用于整个数据帧。pandas applymap内函数没有副本
def f(x):
return x*2
def master(df):
return df.applymap(f)
if __name__ == "__main__":
d = {'a':1, 'b':2}
df = pd.DataFrame(d.items())
df_2 = master(df)
是否有对df
的master
函数内部使用applymap
,而无需进行复制的方法吗?
I'm思考的
def f(x):
return x*2
def master(df):
df.applymap(f)
if __name__ == "__main__":
d = {'a':1, 'b':2}
df = pd.DataFrame(d.items())
master(df)
的线条和主DF的东西会被改变。
EDIT 的f
功能更复杂的,这其中,当然,我想申请的函数的序列来转换数据帧。基本上有字符串解析器来规范化,转换为unicode,删除字符,拆分组件等,所以到目前为止,我看不到一种方法来做到这一点,没有applymap
。
难道你不能'直接在'master'中直接返回df.applymap(f)'吗? – EdChum
你是什么意思“没有制作副本”?你正在改变数据帧的值(这是'x * 2',它会复制一份) – joris
我正在考虑能够在不需要在主服务器上返回的情况下更改df。 – Ivan