尝试实现while循环会破坏cod

2024-10-02 10:33:25 发布

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

我一直在玩一个数据集,试图更好地学习如何用Python编写代码

我创建的代码运行得非常好,但只适用于CSV文件的一行(我有571行数据)。它获取行,然后将第一个数字与第二个数字进行比较,这取决于第一个数字是大还是小,它会将该数字放入相应的列表中。然后,代码移到下一个值并执行相同的操作

bigger = []
smaller = []
mL_ind = 1
add = 0
add_s = 0

gross = []
largest_val = []
net_total = []


initial = open('output.csv')
reader = csv.reader(initial)
mathLine = [line.split(',')[1] for line in initial]
del mathLine[0]
mathLine = list(map(float, mathLine))

for value in mathLine:
    if value > mathLine[mL_ind]:
        bigger.append(value)
        mL_ind = mL_ind + 1
    elif value < mathLine[mL_ind]:
        smaller.append(value)
        mL_ind = mL_ind + 1

for value in bigger:
    add = value + add

for value in smaller:
    add_s = value + add_s

total = add - add_s
gross.append(total)

largest = max(mathLine)
largest_val.append(largest)

net = total / largest
net_total.append(net)

我试图做的是使用索引(在line.split之后)from:mathLine=[line.split(',')[1]作为初始行] 作为在CSV文件中移动的迭代,以及作为while循环的计数器。但是,当我设置它时,我得到一个错误:if value>;数学线

任何帮助都将不胜感激


Tags: inaddfornetvalueline数字ml
1条回答
网友
1楼 · 发布于 2024-10-02 10:33:25

这就是我的工作

导入csv

bigger = []
smaller = []
mL_ind = 1

add = 0
add_s = 0

gross = []
largest_val = []
net_total = []

initial = open('dummy.csv')
reader = csv.reader(initial)


mathLine = [line.split(',')[1] for line in initial]

print (mathLine)


del mathLine[0]
mathLine = list(map(float, mathLine))

for value in mathLine[:-1]:
    if value > mathLine[mL_ind]:
        bigger.append(value)
        mL_ind += 1
    elif value < mathLine[mL_ind]:
        smaller.append(value)
        mL_ind += 1


for value in bigger:
    add = value + add

for value in smaller:
    add_s = value + add_s

total = add - add_s
gross.append(total)

largest = max(mathLine)
largest_val.append(largest)

net = total / largest
net_total.append(net)

print (net_total)

相关问题 更多 >

    热门问题