2016-06-14 91 views
1

我想设置一个熊猫数据框的单元格等于另一个。例如:熊猫设置一个单元格值等于另一个

station_dim.loc[station_dim.nlc==573,'longitude']=station_dim.loc[station_dim.nlc==5152,'longitude'] 

然而,当我检查

station_dim.loc[station_dim.nlc==573,'longitude'] 

它返回NaN

除了直接设置station_dim.loc[station_dim.nlc==573,'longitude']了一些,我有什么别的选择吗?为什么我不能使用这种方法?

+1

什么'station_dim.loc [station_dim.nlc == 5152,'经度']'本身返回? – IanS

+0

我可以手动分配给station_dim.loc的浮点数[station_dim.nlc == 573,'经度']。但是,如果我需要扩大规模,我无法手动完成 –

回答

2

看看get_value,或使用.values

station_dim.loc[station_dim.nlc==573,'longitude']=station_dim.loc[station_dim.nlc==5152,'longitude'].values[0] 

对于分配工作 - .loc[]将返回一个pd.Series,即pd.Seriesindex需要与你的df对齐,它有可能没有按“T。因此,要么使用.get_value()直接提取值 - 您需要首先获取索引位置 - 或使用.values,它将返回np.array,并获取该数组的第一个值。

+0

解释该分配是基于索引完成的,该索引很可能解释了“NaN”值。 – IanS

相关问题