python - 如何将一个系列转换为一个 numpy 数组?
问题描述
我将 csv 导入数据框并得到如下系列:
In[1]: A = df["data1"]
B = df["data2"]
type(A)
Out[1]: pandas.core.series.Series
我制作了这样的皮尔逊模块
def pearson(vector1, vector2):
n = len(vector1)
# simple sums
sum1 = sum(float(vector1[i]) for i in range(n))
sum2 = sum(float(vector2[i]) for i in range(n))
# sum up the squares
sum1_pow = sum([pow(v, 2.0) for v in vector1])
sum2_pow = sum([pow(v, 2.0) for v in vector2])
# sum up the products
p_sum = sum([vector1[i] * vector2[i] for i in range(n)])
num = p_sum - (sum1*sum2/n)
den =((sum1_pow-pow(sum1, 2)/n) * (sum2_pow-pow(sum2, 2)/n)) ** 0.5
if den == 0:
return 0.0
return num/den
我想使用 as_matrix 将系列转换为 numpy 数组,它返回的方法不是 numpy 数组,我是如何从 Series 中获取 numpy 数组的?
from modulas import pearson1
import numpy as np
An = A.as_matrix
Bn = B.as_matrix
p = pearson(An, Bn)
TypeError: 'module' object is not callable
解决方案
如何将一个系列转换为一个 numpy 数组?
使用values
:
series = pd.Series([1, 2, 3], name="a")
series.values
# => array([1, 2, 3])
推荐阅读
- mysql - 对多连接表求和
- javascript - ES2015 + flow:自引用(循环?)枚举
- java - 在 API 响应中自定义 JSON 属性
- c# - 是否可以在 Outlook 中将附件作为 URL 发送
- mysql - 是否可以使用 group by 子句在查询结果中指定代表组的行的选择?
- apache-kafka - Apache Kafka:降低“request.timeout.ms”会导致元数据获取失败?
- python - ReLU 和 LeakyRelu 的实现区别
- assembly - 如何在 MASM 中获取当前光标位置
- node.js - Mongoose 改变 create() 的结果
- angular - 如何从angular2中的component.ts切换ngFor中的特定面板