gpt4 book ai didi

python - 在数据框列中获取 NaN 而不是正确的值

转载 作者:行者123 更新时间:2023-12-01 00:19:16 24 4
gpt4 key购买 nike

我使用以下语法创建了一个由零组成的数据框:

ltv = pd.DataFrame(data=np.zeros([actual_df.shape[0], 6]),
columns=['customer_id',
'actual_total',
'predicted_num_purchases',
'predicted_value',
'predicted_total',
'error'], dtype=np.float32)

结果完全符合预期

customer_id | actual_total | predicted_num_purchases | predicted_value | predicted_total | error
0 0.0 0.0 0.0 0.0 0.0 0.0
1 0.0 0.0 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0 0.0 0.0

当我运行此语法时:

ltv['customer_id'] = actual_df['customer_id']

我在 ltv['customer_id'] 中得到所有 NaN。造成这种情况的原因是什么?如何防止这种情况发生?

注意:我还检查了 actual_df,里面没有 NaN

最佳答案

两个数据帧都需要相同的索引值(并且两个数据帧的长度也相同)。

所以第一个解决方案是在actual_df中创建默认的RabgeIndex,在ltv中没有指定,所以默认创建:

actual_df = actual_df.reset_index(drop=True)
ltv['customer_id'] = actual_df['customer_id']

或者将参数index添加到DataFrame构造函数:

ltv = pd.DataFrame(data=np.zeros([actual_df.shape[0], 6]),
columns=['customer_id',
'actual_total',
'predicted_num_purchases',
'predicted_value',
'predicted_total',
'error'], dtype=np.float32,
index=actual_df.index)

ltv['customer_id'] = actual_df['customer_id']

关于python - 在数据框列中获取 NaN 而不是正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59070717/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com