使用numpy获取方差

2024-05-15 16:50:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我想得到csv文件中每列的方差,为此我写了以下内容:

import numpy as np
import csv
import collections
Training        = 'Training.csv'
inputFile       = open(Training,'r',newline='')
cols_values     = collections.defaultdict(list)
numericalValues = []
reader = csv.reader(inputFile)
row = next(reader)

for row in reader:
    for col, value in enumerate(row):
        cols_values[col].append(value)
        numericalValues.append(cols_values[col])

np.var(numericalValues[0], dtype=np.float64)

我在np.var行中出错:

^{pr2}$

知道我遗漏了什么吗,这些值绝对是数字!


Tags: csvinimportforvaluenptrainingcol
1条回答
网友
1楼 · 发布于 2024-05-15 16:50:09

有没有理由不使用熊猫?在

import numpy as np
import pandas as pd
Training = 'Training.csv'
df = pd.read_csv(Training)
df.apply(np.var, axis=0)      # can also use `df.var(...)`

您需要确保所有列都有数值。如果选择的话,也可以使用np.nanvar忽略NaN值。在

相关问题 更多 >