2017-10-11 112 views
-2

有没有办法从整列中减去常量值?熊猫数据帧从列中减去浮点值

如果我的数据帧是

enter image description here

我想从第1列减去2.5,这样它显示为

enter image description here

而且,是有可能的日期+时间转换成分钟?

谢谢!使用

+1

我想你已经把你的照片倒过来了。另外,你有什么尝试? – miradulo

+0

为了减去常数值,我做了 df = df.sub(shift,axis ='Distance) 但它给了我无效的语法 – Sharon

+0

你读过'df.sub'吗?你想要['Series.sub'](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.sub.html)或只是'df ['some_column'] - some_constant'。您可能需要阅读[Pandas文档](https://pandas.pydata.org/pandas-docs/stable/10min.html)。 – miradulo

回答

-2

。适用始终是一个快速的方法来处理这样的事情

#data.csv is you data 
import pandas as pd 
df = pd.DataFrame.read_csv('data.csv') 

#you want to perform this operation on column 1 that has a label 'A' 
#make a function 
def col_subtract(row): 
    row['A'] = row['A'] - 2.5 
    return row 

#apply the function to the dataframe 
df = df.apply(col_subtract, axis=1) 

doc

注意:您也可以只通过一个lambda函数,我只是觉得这是清洁剂进行用正式用户定义的名称来强调你正在做的事。

+1

__No!__。使用'apply'总是_slow_方式来处理这样的事情。在这种情况下它甚至没有意义,反正你在'apply'中做矢量化操作。 – miradulo

+0

我刚使用depth = df ['Distance'] - 62.981。然后将深度列添加到表格的前面:df.insert(0,'深度',深度) 谢谢! 还有时间操纵分钟的任何想法? – Sharon

0

如果df是你的数据框,只需使用

df.Distance += 2.5 

添加一个常数,或

df.Distance -= 2.5 

减去它。

(我不确定你想要哪一个做。)