在pandas

时间:2016-05-03 19:02:10

标签: python pandas dataframe

我正在使用python中的一些住房数据。我试图以平方英尺计算价格并将其添加到数据框中。我能够单独进行计算,但是当我尝试将列添加回数据帧时,我一直收到错误。

代码:

 price_feet=[data['price']/data['sqft_living']]

这可以单独使用

这不是

 data['price_feet']=[data['price']/data['sqft_living']]

收到错误: 值的长度与索引的长度

不匹配

我假设数据中没有两个变量匹配。这就是我能够进行计算但不将其添加回数据帧的原因。我试过找一些答案,但显然还没有找到合适的解决方案。

谢谢!

2 个答案:

答案 0 :(得分:1)

不带括号尝试:

data['price_feet']=data['price']/data['sqft_living']

方括号返回一个列表,其中第一个项目是一个系列。你只想要这个系列。

答案 1 :(得分:0)

您也可以使用div

t3.col2
  

签名:data.price.div(其他,level = None,fill_value = None,axis = 0)   文档字符串:   浮点除系列和其他,元素方式(二元运算符data = pd.DataFrame({'price': [1000, 2000], 'sqft_living': [100, 250]}) data['price_feet'] = data.price.div(data.sqft_living) >>> data price sqft_living price_feet 0 1000 100 10 1 2000 250 8 )。

     

等同于truediv,但支持替换fill_value   其中一个输入中缺少数据。