尝试获取.csv文件列中的最大数字

时间:2017-11-05 18:02:29

标签: python csv

这就是我目前的情况,我得到的错误是' int'对象不可迭代。如果我理解正确,我的问题是我的项目顶部为BIKE_AVAILABLE分配了一个数字,而不是查看列,而是查看该数字并发出错误。我应该如何进入专栏?我提前为新问题道歉

for i in range(len(stations[BIKES_AVAILABLE]) -1):
    most_bikes = max(stations[BIKES_AVAILABLE])
sort(stations[BIKES_AVAILABLE]).remove(max(stations[BIKES_AVAILABLE]))

if most_bikes == max(stations[BIKES_AVAILABLE]):
    second_most = max(stations[BIKES_AVAILABLE])
    index_1 = index(most_bikes)
    index_2 = index(second_most)
    most_bikes = max(data[0][index_1], data[0][index_2])

return most_bikes

3 个答案:

答案 0 :(得分:2)

另一种可能更适合您使用数据操作的方法是尝试pandas模块。

然后你可以这样做:

import pandas as pd

data = pd.read_csv('bicycle_data.csv')

# Alternative:
# most_sales = data['sold'].max()
most_sales = max(data['sold'])

现在您不必担心使用数字索引列:

您也可以这样做:

sorted_data = data.sort_values(by='sold', ascending=False)

# Displays top 5 sold bicycles.
print(sorted_data.head(5))

更重要的是,如果您喜欢使用索引,则可以使用函数来获取max中内置pandas network_fn = nets_factory.get_network_fn( "vgg_16", num_classes=5, is_training=False) logits, _ = network_fn(img) op_prob = tf.nn.softmax(logits) # Logits : [[ 8.76755524 95.47770691 -5.89457178 -23.20689011 -70.85565948]] 值的索引。

答案 1 :(得分:0)

假设csv结构如此:

data = ['1,blue,15,True',
    '2,red,25,False',
    '3,orange,35,False',
    '4,yellow,24,True',
    '5,green,12,True']

如果我想从第3列获得最大值,我会这样做:

largest_number = max([n.split(',')[2] for n in data])

答案 2 :(得分:0)

generator

内使用max()

如果您有一个名为CSV的{​​{1}}文件,其内容为:

test.csv

您可以在line1,3,abc line2,1,ahc line3,9,sbc line4,4,agc generator内使用expression max()获得function有效解决方案(即不会创建memory)。

如果你想为第二个list执行此操作,那么:

column

这将为此示例提供max(int(l.split(',')[1]) for l in open("test.csv").readlines())

<强>更新

要获取9row),您需要在index中存储indexmax号码,以便您可以访问此项:

column

这里max(((i,int(l.split(',')[1])) for i,l in enumerate(open("test.csv").readlines())),key=lambda t:t[1])[0] 2 line test.csv max column 2 9 2 lines = open("test.csv").readlines() max(((i,int(l.split(',')[1])) for i,l in enumerate(lines)),key=lambda t:t[1])[0] {1}})是{{1}}(即第三行)。

这很好用,但您可能更愿意稍微分解一下:

{{1}}