各位大神,用python对数据库中的某列数据排序怎么搞???不是用sql来排序哦 python数据列名为日期,怎么指定某列排序?
\u5982\u4f55\u4f7f\u7528python\u7ed9\u4e00\u4e2asql\u811a\u672c\u6587\u4ef6\u6309id\u53f7\u6392\u5e8f\uff1f\u82e5SQL\u811a\u672c\u4e0d\u592a\u5927\uff0c\u4e14\u6392\u5e8f\u5b57\u6bb5\u4e3avalues\u4e2d\u7684\u7b2c\u4e00\u4e2a\u503c\uff1a
>>> content = '''
... INSERT INTO `dx_forum_thread` VALUES (9422, 13, 0, 0, 0, 0, \uff0e\uff0e\uff0e\uff0e, 0);
... INSERT INTO `dx_forum_thread` VALUES (945, 13, 0, 0, 0, 0, \uff0e\uff0e\uff0e\uff0e, 0);
... INSERT INTO `dx_forum_thread` VALUES (8422, 13, 0, 0, 0, 0, \uff0e\uff0e\uff0e\uff0e, 0);
... INSERT INTO `dx_forum_thread` VALUES (84221, 13, 0, 0, 0, 0, \uff0e\uff0e\uff0e\uff0e, 0);
... INSERT INTO `dx_forum_thread` VALUES (85, 13, 0, 0, 0, 0, \uff0e\uff0e\uff0e\uff0e, 0);
... INSERT INTO `dx_forum_thread` VALUES (9, 13, 0, 0, 0, 0, \uff0e\uff0e\uff0e\uff0e, 0);
... '''
>>> import re
>>> patt = re.compile(r'.*\((\d+),.*', re.I|re.X|re.U)
>>> lns = [(int(patt.match(ln).group(1)), ln) for ln in filter(patt.match, content.splitlines())]
>>> print '\n'.join([ln for (id, ln) in sorted(lns)])
INSERT INTO `dx_forum_thread` VALUES (9, 13, 0, 0, 0, 0, \uff0e\uff0e\uff0e\uff0e, 0);
INSERT INTO `dx_forum_thread` VALUES (85, 13, 0, 0, 0, 0, \uff0e\uff0e\uff0e\uff0e, 0);
INSERT INTO `dx_forum_thread` VALUES (945, 13, 0, 0, 0, 0, \uff0e\uff0e\uff0e\uff0e, 0);
INSERT INTO `dx_forum_thread` VALUES (8422, 13, 0, 0, 0, 0, \uff0e\uff0e\uff0e\uff0e, 0);
INSERT INTO `dx_forum_thread` VALUES (9422, 13, 0, 0, 0, 0, \uff0e\uff0e\uff0e\uff0e, 0);
INSERT INTO `dx_forum_thread` VALUES (84221, 13, 0, 0, 0, 0, \uff0e\uff0e\uff0e\uff0e, 0);
>>>
excel\u597d\u529e\uff0c\u6570\u636e\u5e93\u7684\u8bdd\uff0c\u4e00\u4e2a\u65e5\u671f\u4e00\u4e2a\u5b57\u6bb5\uff1f
通过例子来说明sorted的用法:
1. 对由tuple组成的List排序
Python代码
>>> students = [('john', 'A', 15), ('jane', 'B', 12), ('dave', 'B', 10),]
用key函数排序(lambda的用法见 注释1)
Python代码
>>> sorted(students, key=lambda student : student[2]) # sort by age
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
用cmp函数排序
Python代码
>>> sorted(students, cmp=lambda x,y : cmp(x[2], y[2])) # sort by age
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
用 operator 函数来加快速度, 上面排序等价于:(itemgetter的用法见 注释2)
Python代码
>>> from operator import itemgetter, attrgetter
>>> sorted(students, key=itemgetter(2))
用 operator 函数进行多级排序
Python代码
>>> sorted(students, key=itemgetter(1,2)) # sort by grade then by age
[('john', 'A', 15), ('dave', 'B', 10), ('jane', 'B', 12)]
2. 对由字典排序
Python代码
>>> d = {'data1':3, 'data2':1, 'data3':2, 'data4':4}
>>> sorted(d.iteritems(), key=itemgetter(1), reverse=True)
[('data4', 4), ('data1', 3), ('data3', 2), ('data2', 1)]
绛旓細瀵煎叆绗笁鏂瑰簱pandas锛屼娇鐢pd.read_excel()鍑芥暟璇诲彇涓や釜Excel琛ㄦ牸锛屼娇鐢 shape 灞炴ц幏鍙栦簡涓や釜琛ㄦ牸鐨勮鏁板拰鍒楁暟銆傜劧鍚庯紝鎴戜滑鍒涘缓浜嗕竴涓┖鐨 DataFrame result 鏉ヤ繚瀛樿绠楃粨鏋溿傛帴涓嬫潵锛屾垜浠娇鐢ㄥ祵濂楃殑寰幆閬嶅巻鎵鏈夌殑鍗曞厓鏍硷紝骞堕氳繃 iloc 灞炴ц幏鍙栨瘡涓崟鍏冩牸鐨勫笺傜劧鍚庯紝鎴戜滑璁$畻宸硷紝骞跺皢宸间繚瀛樺埌缁撴灉 D...
绛旓細columns = ['d','a','b','c'])#榛樿鏄琛 鈥滅储寮曗 杩涜鎺掑簭,濡傛灉瀵瑰垪 鈥滅储寮曗 杩涜鎺掑簭,axis = 1 鍗冲彲print frame.sort_index()print frame.sort_index(axis = 1)print frame.sort_index(axis = 1,ascending = False)#濡傛灉瀵瑰艰繘琛屾帓搴,鐢鐨勬槸order鍑芥暟,娉ㄦ剰鎵鏈夌殑缂哄け鍊间細鏀惧埌鏈鍚(濡傛灉鏈夌殑...
绛旓細Python涓娇鐢shape鍑芥暟鏉ユ煡鐪鏁版嵁琛ㄧ殑缁村害,涔熷氨鏄鏁板拰鍒楁暟銆備綘鍙互浣跨敤info鍑芥暟鏌ョ湅鏁版嵁琛ㄧ殑鏁翠綋淇℃伅,浣跨敤dtypes鍑芥暟鏉ヨ繑鍥炴暟鎹牸寮忋侷snull鏄疨ython涓楠岀┖鍊肩殑鍑芥暟,浣犲彲浠ュ鏁翠釜鏁版嵁琛ㄨ繘琛屾鏌,涔熷彲浠ュ崟鐙鏌愪竴鍒楄繘琛岀┖鍊兼鏌,杩斿洖鐨勭粨鏋滄槸閫昏緫鍊,鍖呭惈绌哄艰繑鍥濼rue,涓嶅寘鍚垯杩斿洖False銆備娇鐢╱nique鍑芥暟鏌ョ湅鍞竴鍊,浣...
绛旓細鐢≒ython杩涜鏁版嵁鍒嗘瀽涔嬪墠锛屼綘闇瑕佷粠Continuum.io涓嬭浇Anaconda銆傝繖涓寘鏈夌潃鍦≒ython涓爺绌舵暟鎹瀛︽椂浣犲彲鑳介渶瑕佺殑涓鍒囦笢瑗裤傚畠鐨勭己鐐规槸涓嬭浇鍜屾洿鏂伴兘鏄互涓涓崟鍏冭繘琛岀殑锛屾墍浠ユ洿鏂板崟涓簱寰堣楁椂銆備絾杩欏緢鍊煎緱锛屾瘯绔熷畠缁浜嗕綘鎵闇鐨勬墍鏈夊伐鍏凤紝鎵浠ヤ綘涓嶉渶瑕佺籂缁撱傜幇鍦紝濡傛灉浣犵湡鐨勮鐢≒ython杩涜澶ф暟鎹垎鏋愮殑璇濓紝...
绛旓細鍦Python涓pandas搴撶敤浜鏁版嵁澶勭悊锛屾垜浠粠1787椤电殑pandas瀹樼綉鏂囨。涓荤粨鍑烘渶甯哥敤鐨36涓嚱鏁帮紝閫氳繃杩欎簺鍑芥暟浠嬬粛濡備綍閫氳繃Python瀹屾垚鏁版嵁鐢熸垚鍜屽鍏ワ紝鏁版嵁娓呮礂锛岄澶勭悊锛屼互鍙婃渶甯歌鐨勬暟鎹垎绫伙紝鏁版嵁绛涢夛紝鍒嗙被姹囨伙紝閫忚绛夋渶甯歌鐨勬搷浣溿
绛旓細python鎬庝箞鍒嗘瀽鏁版嵁锛熷湪涓嶅悓鐨勫満鏅笅閫氬父鍙互閲囩敤涓嶅悓鐨勬暟鎹垎鏋愭柟寮忥紝姣斿瀵逛簬澶ч儴鍒嗚亴鍦轰汉鏉ヨ锛孍xcel鍙互婊¤冻澶ч儴鍒嗘暟鎹垎鏋愬満鏅紝褰撴暟鎹噺姣旇緝澶х殑鏃跺欏彲浠ラ氳繃瀛︿範鏁版嵁搴撶煡璇嗘潵瀹屾垚鏁版嵁鍒嗘瀽浠诲姟锛屽浜鏇村鏉傜殑鏁版嵁鍒嗘瀽鍦烘櫙鍙互閫氳繃BI宸ュ叿鏉ュ畬鎴愭暟鎹垎鏋愩傞氳繃宸ュ叿杩涜鏁版嵁鍒嗘瀽涓鏂归潰姣旇緝渚挎嵎锛屽彟涓鏂归潰涔熸瘮杈...
绛旓細line[1].decode('utf-8').find( u'甯屽尯鏌厠')>=0 琛ㄧず褰撳墠鏁版嵁鍖呭惈鏈夋墍鏌ユ壘鐨勫瓧绗︿覆'甯屽尯鏌厠'
绛旓細缁樺埗璇ユ枃浠朵腑鐨鏁版嵁 闇瑕佸紩鍏ylab搴擄紝閲岄潰鐢ㄥ埌鐨勫嚱鏁板拰MATLAB閲岀殑闈炲父绫讳技 def plotData(X, y):length = len(y)pylab.figure(1)pylab.plot(X, y, 'rx')pylab.xlabel('Population of City in 10,000s')pylab.ylabel('Profit in $10,000s')pylab.show()#璁╃粯鍒剁殑鍥惧儚鍦ㄥ睆骞曚笂鏄剧ず鍑烘潵 ...
绛旓細鐢≒ython鍋鏁版嵁鍒嗘瀽锛屽ぇ鑷存祦绋嬪涓嬶細1銆佹暟鎹幏鍙 鍙互閫氳繃SQL鏌ヨ璇彞鏉ヨ幏鍙栨暟鎹簱涓兂瑕佹暟鎹侾ython宸茬粡鍏锋湁杩炴帴sql server銆乵ysql銆乷rcale绛変富娴佹暟鎹簱鐨勬帴鍙e寘锛屾瘮濡俻ymssql銆乸ymysql銆乧x_Oracle绛夈2銆佹暟鎹瓨鍌 浼佷笟褰撲腑鐨勬暟鎹瓨鍌紝閫氳繃閫氳繃鏁版嵁搴撳Mysql鏉ュ瓨鍌ㄤ笌绠$悊锛屽浜闈炵粨鏋勫寲鏁版嵁鐨勫瓨鍌ㄥ彲浠ヤ娇鐢∕ongo...
绛旓細1銆侀鍏堝垎鏋愰〉闈㈡簮浠g爜涓炕椤靛鐨勭壒寰侊紝鎸夎鍒欏彇涓嬩竴椤靛湴鍧閫傚悎椤甸潰鍦板潃涓嶈繛缁椂锛屽彲閫氳繃姝e垯琛ㄨ揪寮忓疄鐜帮紝濡傛灉椤甸潰鍦板潃涓鸿繛缁殑锛屽垯鐩存帴鎸夎繛缁殑鍦板潃鑾峰彇鏁版嵁銆2銆佹寜浠ヤ笂鐗瑰緛鑾峰彇鍚庨潰鍦板潃锛岄氳繃urllib.request.urlopen(url)寰楀埌棣栭〉闈㈢殑鏁版嵁銆...