繁体   English   中英

用它的第一个值减去熊猫数据框中的一列

[英]Subtract a column in pandas dataframe by its first value

我需要用它的第一个值减去一列熊猫数据帧中的所有元素。

在这段代码中,pandas 抱怨 self.inferred_type,我猜这是循环引用。

df.Time = df.Time - df.Time[0]

在这段代码中,pandas 抱怨在副本上设置值。

df.Time = df.Time - df.iat[0,0]

在 Pandas 中进行此计算的正确方法是什么?

我认为您可以通过iloc选择Time列中的第一项:

df.Time = df.Time - df.Time.iloc[0]

样本:

start = pd.to_datetime('2015-02-24 10:00')
rng = pd.date_range(start, periods=5)

df = pd.DataFrame({'Time': rng, 'a': range(5)})  
print (df)
                 Time  a
0 2015-02-24 10:00:00  0
1 2015-02-25 10:00:00  1
2 2015-02-26 10:00:00  2
3 2015-02-27 10:00:00  3
4 2015-02-28 10:00:00  4

df.Time = df.Time - df.Time.iloc[0]
print (df)
    Time  a
0 0 days  0
1 1 days  1
2 2 days  2
3 3 days  3
4 4 days  4

注意:

对我来说,你的两种方式也很完美。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM