一、sort_values()函数用途
十多年的陵川网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整陵川建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“陵川网站设计”,“陵川网站推广”以来,每个客户项目都认真落实执行。
pandas中的sort_values()函数原理类似于SQL中的order by,可以将数据集依照某个字段中的数据进行排序,该函数即可根据指定列数据也可根据指定行的数据排序。
二、sort_values()函数的具体参数
用法:
1DataFrame.sort_values(by=‘##',axis=0,ascending=True, inplace=False, na_position=‘last')
参数说明
by指定列名(axis=0或'index')或索引值(axis=1或'columns')
axis若axis=0或'index',则按照指定列中数据大小排序;若axis=1或'columns',则按照指定索引中数据大小排序,默认axis=0
ascending是否按指定列的数组升序排列,默认为True,即升序排列
inplace是否用排序后的数据集替换原来的数据,默认为False,即不替换
na_position{‘first',‘last'},设定缺失值的显示位置
三、sort_values用法举例
创建数据框
#利用字典dict创建数据框
import numpy as np
import pandas as pd
网络投票大都采用post方法,因此我们可以分析post的url,对具体的post参数进行分析,通过requests模块,进行提交就行了。需要注意的是大部分网站可能存在ip地址限制,或者浏览器限制等情况,所以需要设计代理和ua列表进行投票,避免被屏蔽。
def vote(stra):
yesstr=['yes','y']
nostr=['no','n']
abstainedstr=['abstained','a']
count=0
yescount=0
stra=stra.replace(',',' ')
for i in stra.split():
lowerstr=i.lower()
if lowerstr in yesstr:
yescount+=1
count+=1
elif lowerstr in nostr:
count+=1
if yescount==count:
return 'proposal passes unanimously'
if yescount*1.0/count=2.0/3.0:
return 'proposal passes with super majority'
if yescount*1.0/count=0.5:
return 'proposal passes with simple majority'
return 'proposal fails'
if __name__=='__main__':
stra=raw_input('Enter the yes,no,abstained votes one by one and the press enter:\n')
print vote(stra)
LI = ['张三','李四','刘五']
def inputs(prompt, selectlist, eof='EOF'):
while True:
choice = raw_input(prompt)
if choice == eof:
break
elif choice in selectlist:
yield choice
else:
print "only in %s" % selectlist
collects = map(None, inputs("投票", LI, eof='投票结束'))
# by dict
counter = {}
for name in collects:
counter[name] = counter.get(name,0)+1
for name, c in sorted(counter.items(), key=lambda x:x[1], reverse=True):
print name, c
# by collections.Counter
import collections
counter = collections.Counter(collects)
for name, c in counter.most_common(10):
print name, c
试了半天才弄明白是怎么回事。是中英文的问题。你在votes.txt里的冒号放的是中文冒号:,而你在程序里split用的是英文的冒号:, 结果split后得到的内容是一个,而不是两个。
这样你将一个内容赋值给两个就会出现
ValueError: need more than 1 value to unpack
你可以打印print my_love
这样就知道为什么了。