python – 在函数内修改DataFrame

python – 在函数内修改DataFrame,第1张

概述我面对一个我以前从未观察过的函数内部数据框的修改.有没有办法处理这个并且没有修改初始数据帧? In[30]: def test(df): df['tt'] = np.nan return dfIn[31]: dff = pd.DataFrame(data=[])In[32]: dffOut[32]: Empty DataFrameColumns: []Index: @H_403_2@ 我面对一个我以前从未观察过的函数内部数据框的修改.有没有办法处理这个并且没有修改初始数据帧?

In[30]: def test(df):    df['tt'] = np.nan    return dfIn[31]: dff = pd.DataFrame(data=[])In[32]: dffOut[32]: Empty DataFrameColumns: []Index: []In[33]: df = test(dff)In[34]: dffOut[34]: Empty DataFrameColumns: [tt]Index: []
解决方法
def test(df):    df = df.copy(deep=True)    df['tt'] = np.nan    return df

如果将数据帧传递给函数并对其进行 *** 作并返回相同的数据帧,那么您将获得修改后版本的相同数据帧.如果您想保留旧的数据框并使用修改创建新的数据框,那么根据定义,您必须拥有2个数据框.您传入的不需要修改的内容和修改后的新内容.因此,如果您不想更改原始数据帧,最好的办法是复制原始数据帧.在我的例子中,我将函数中的变量“df”反d到新的复制数据帧.我使用了copy方法,参数“deep = True”生成了数据帧及其内容的副本.你可以在这里阅读更多:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.copy.html

@H_403_2@ 总结

以上是内存溢出为你收集整理的python – 在函数内修改DataFrame全部内容,希望文章能够帮你解决python – 在函数内修改DataFrame所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1194201.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存