如何在python中只选择数字数据类型并将它们保存在数组中?

2024-04-19 20:14:39 发布

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

我想从csv中获取所有的字段,这些字段是数值字段,并将这些字段存储在一个数组中,以便我可以执行数学运算。我可以得到数据类型,但不能限制。我对python脚本非常陌生,请帮助我

编辑:我添加了一个示例行

enter image description here

这里F1和F3是数值场。所以我想把这两个字段名保存在一个数组变量中 字段名=[“F1”,“F3”]

import csv
import pandas as pd
import numpy as np

data = pd.read_csv(r'C:\Users\spanda031\Downloads\test_19.csv')
print(data.dtypes)
with open(r'C:\Users\spanda031\Downloads\test_19.csv') as f:
    d_reader = csv.DictReader(f)

    #get fieldnames from DictReader object and store in list
    headers = d_reader.fieldnames
    print(headers)
    for line in headers:
        #print value in MyCol1 for each row
        print(line)        
        v3=np.array(data[line])

Tags: csvinimportdataasnpline数组
2条回答

^{}

您可以使用np.number或,如文档中所示,'number'来选择所有数字系列:

# read csv file
df = pd.read_csv('file.csv')

# subset dataframe to include only numeric columns
df = df.select_dtypes(include='number')

# get column labels in array
cols = df.columns.values

# extract NumPy array from dataframe
arr = df.values

注意不需要csv模块,因为熊猫可以通过pd.read_csv读取csv文件。你知道吗

isdigit可用于检查Python中dataframe的任何列中是否只存在数值。假设列名为Measure,则可以编写

df['Measure_isdigit'] = map(lambda x: x.isdigit(), df['Measure'])

打印df

相关问题 更多 >