这就是我目前的情况,我得到的错误是' 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
答案 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())
。
<强>更新强>
要获取9
(row
),您需要在index
中存储index
个max
号码,以便您可以访问此项:
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}}