从现有数据框架创建新数据框

时间:2014-10-22 09:44:31

标签: python python-3.x pandas

我需要创建一个包含现有df中特定列的新数据框。我的代码运行正常,但我得到了SettingWithCopyWarning。我已经研究过这个警告,我理解为什么它存在(即:链式任务)。我也知道你可以简单地关闭警告。

但是我的问题是,使用现有数据框中的特定列创建新数据框的正确方法是什么,以便不会收到此警告。我不想简单地关闭警告,...因为我认为有一个更好的(更加pythonic)的方式来做这个,而不是我目前正在做什么。换句话说,我想要一个全新的数据框,我不想复制所有列。

以下代码将现有数据框传递给函数(removeBrokenRule)。创建新数据框,其中仅包含现有df中的4列。然后我对新的df执行某些操作并将其返回。

newdf = removeBrokenRule('Forgot rules', df)

def removeBrokenRule(rule, df):
    newdf = df[['Actual ticks', 'Broken Rules', 'Perfect ticks', 'Cumulative Actual']]
    newdf['Actual ticks'][newdf['Broken Rules'] == rule] = newdf['Perfect ticks']
    newdf['New Curve'] = newdf['Actual ticks'].cumsum()
    return newdf

非常感谢。

0 个答案:

没有答案