问题描述
我在一家公司的技术回合中遇到了这个问题。 问题是下面给出了两个系列:
"Error converting value \"[{\"address\":\"Brussels,Belgium\",\"lat\":50.8503396,\"lng\":4.3517103},{\"address\":\"Amsterdam,Netherlands\",\"lat\":52.3675734,\"lng\":4.9041389}]\" to type 'System.Collections.Generic.List`1[MyMobiz.Models.Placess]'. Path 'Places',line 2,position 154."
我们必须找到这两个系列的逐元素均值,并将结果存储在新系列series_C中
我的方法
import pandas as pd
import numpy as np
series_A = pd.Series([10,15,12,20])
series_B = pd.Series([12,19,65,13])
但是出现错误
“ TypeError:'Series'对象是可变的,因此无法进行哈希处理”
解决方法
numpy mean以ndarray作为第一个参数,而将沿其执行均值的轴作为第二个参数。
您需要做的是将序列存储在这样的数组中
import pandas as pd
import numpy as np
series_A = pd.Series([10,15,12,20])
series_B = pd.Series([12,19,65,13])
series_C = pd.Series(np.mean(np.stack((series_A,series_B)),axis=0))
这给了我们
series_C
0 11.0
1 17.0
2 38.5
3 16.5
dtype: float64
,
IIUC:
import pandas as pd
import numpy as np
series_A = pd.Series([10,13])
series_C = (series_A+series_B)/2
使用numpy:
import pandas as pd
import numpy as np
series_A = pd.Series([10,13])
series_C = pd.concat([series_A,series_B],axis=1).agg(np.mean,1)
0 11.0
1 17.0
2 38.5
3 16.5
dtype: float64