使用替换函数计算 Pandas 数据框列
Calculate Pandas dataframe column with replace function
我正在计算 Pandas 数据框中的一个字段。学习Python,我正在努力寻找最好的方法。
Dataframe 非常大,超过 5500 万行。它有几列,其中 date
和 failure
符合我的兴趣。所以数据框看起来像这样:
date failure
2018-09-09 0
2016-05-12 1
2013-12-12 1
2018-05-12 1
2018-05-12 1
我要计算failure_date
(if failure = 1 then failure_date = date)
.
试过了像这样:
import pandas as pd
abc = pd.read_pickle('data_abc.pkl')
abc['failure_date'] = abc['failure'].replace(1, abc['date'])
会话忙了很长时间 (1.5h)。目前还没有结果。这是正确的方法吗?
根据其他条件计算列的方法是否更有效?
此代码添加一列 "failure_date" 并将其设置为失败的失败日期。它没有解决 "non-failures".
abc.loc[abc['failure']==1, 'failure_date'] = abc['date']
如果您不介意丢弃数据框的其余部分,您可以像这样获取失败为 1 的所有日期
abc = abc[abc['failure] == 1]
我正在计算 Pandas 数据框中的一个字段。学习Python,我正在努力寻找最好的方法。
Dataframe 非常大,超过 5500 万行。它有几列,其中 date
和 failure
符合我的兴趣。所以数据框看起来像这样:
date failure
2018-09-09 0
2016-05-12 1
2013-12-12 1
2018-05-12 1
2018-05-12 1
我要计算failure_date
(if failure = 1 then failure_date = date)
.
试过了像这样:
import pandas as pd
abc = pd.read_pickle('data_abc.pkl')
abc['failure_date'] = abc['failure'].replace(1, abc['date'])
会话忙了很长时间 (1.5h)。目前还没有结果。这是正确的方法吗? 根据其他条件计算列的方法是否更有效?
此代码添加一列 "failure_date" 并将其设置为失败的失败日期。它没有解决 "non-failures".
abc.loc[abc['failure']==1, 'failure_date'] = abc['date']
如果您不介意丢弃数据框的其余部分,您可以像这样获取失败为 1 的所有日期
abc = abc[abc['failure] == 1]