在pandas中使用datetime
列时,是否将列直接除以整数与将列的值除以整数是否重要?
df['mid_date'] = df['start_date'] + (df['end_date'] - df['start_date']) /2
与
相比df['mid_date'] = df['start_date'] + (df['end_date'] - df['start_date']).values /2
在我的测试中,两者似乎都给出了相同的结果,想知道哪种是最佳实践?
答案 0 :(得分:0)
在你的情况下没有区别,通常调用values
属性返回数据的np数组,这是必要的典型情况是你希望数组作为普通值而没有索引/列名称为pandas将尝试对齐索引和列值。
在你的情况下,你要分配给df['start_time']
,所以结果仍然是一个有索引的熊猫系列。
有时候一些apis不喜欢pandas df / series作为params,你必须打电话给values
才能让他们开心,但这只适用于某些api,我历史上曾经用sk-learn遇到过这个问题但是我不知道最近所有这些错误是否已被压扁或与某些角落案件无关。