python数据分离用什么好_python – ML的数据分离

如果我理解你的问题,你想将csv表中的每一行转换为一个单独的变量,而该变量又包含该行的所有值.

以下是您如何处理此问题的示例.有很多方法可以达到这个目的,其他方法可能更有效,更快,更pythonic,更时髦或其他.但是下面的代码是为了帮助您了解如何将tabellic数据存储到命名变量中而编写的.

两个评论:

>如果您只需要阅读数据,那么您可能需要寻找一种不那么复杂的解决方案

> L1Neuron类不是非常透明,而它的成员不能从代码中读取,而是由attrs中的变量列表创建运行时.您可能需要查看namedTuples以获得更好的可读性.

`

import pandas as pd

from io import StringIO

import numbers

# example data:

atestred = StringIO("""fixed acidity;volatile acidity;citric acid;\

residual sugar;chlorides;free sulfur dioxide;total sulfur dioxide;\

density;pH;sulphates;alcohol;quality

7.4;0.7;0;1.9;0.076;11;34;0.9978;3.51;0.56;9.4;5

7.8;0.88;0;2.6;0.098;25;67;0.9968;3.2;0.68;9.8;5

7.8;0.76;0.04;2.3;0.092;15;54;0.997;3.26;0.65;9.8;5

""")

# read example data into dataframe 'data'; extract values and column names:

data = pd.read_csv(atestred,error_bad_lines=False,sep=';')

colNames = list(data)

class L1Neuron(object):

"neuron class that holds the variables of one data line"

def __init__(self,**attr):

"""

attr is a dict (like {'alcohol': 12,'pH':7.4});

every pair in attr will result in a member variable

of this object with that name and value"""

for name,value in attr.items():

setattr(self,name.replace(" ","_"),value)

def gi(self):

"print all numeric member variables whose names don't start with an underscore:"

for v in sorted(dir(self)):

if not v.startswith('_'):

value = getattr(self,v)

if isinstance(value,numbers.Number):

print("%-20s = %5.2f" % (v,value))

print('-'*50)

# read csv into variables (one for each line):

neuronVariables = []

for s in data.values:

variables = dict(zip(colNames,s))

neuron = L1Neuron(**variables)

neuronVariables.append(neuron)

# now the variables in neuronVariables are ready to be used:

for n11 in neuronVariables:

print("free sulphur dioxide in this variable:",n11.free_sulfur_dioxide,end = " of ")

print(n11.total_sulfur_dioxide,"total sulphur dioxide" )

n11.gi()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值