from numpy import random
a = random.random(10000)
lst =
for i in a:
lst = [i * i for i in a] # 使用列表生成式
gen = (i * i for i in a) # 生成器更節省記憶體
da =
from operator import itemgetter
a = [,,]
a.sort(key=itemgetter('weather', 'date'))
print(a)
# [, , ]
from operator import itemgetter
from itertools import groupby
a.sort(key=itemgetter('weather', 'date')) # 必須先排序再分組
for k, items in groupby(a, key=itemgetter('weather')):
print(k)
for i in items:
print(i)
python中的聚合類函式sum
,min
,max
第乙個引數是iterable
型別,一般使用方法如下:
a = [4,2,5,1]
sum([i+1for i in a]) # 16
使用列表生成式[i+1 for i in a]
建立乙個長度與a
一樣的臨時列表,這步完成後,再做sum
聚合。
試想如果你的陣列a
長度是百萬級,再建立乙個這樣的臨時列表就很不划算,最好是一邊算一邊聚合,稍改動為如下:
a = [4,2,5,1]
sum(i+1for i in a) # 16
此時i+1 for i in a
是(i+1 for i in a)
的簡寫,得到乙個生成器(generator
)物件,如下所示:
in [8]:(i+1for i in a)
out [8]:at 0x000002ac7ffa8cf0>
生成器每迭代一步吐出(yield
)乙個元素並計算和聚合後,進入下一次迭代,直到終點。
dic1 =
dic2 =
merged = #
修改merged['x']=10
,dic1中的x
值不變
chainmap
只在邏輯上
合併,在內部建立了乙個容納這些字典的列表。
from collections import chainmap
merged = chainmap(dic1,dic2)
print(merged)
# chainmap(, )
使用chainmap
合併字典,修改merged['x']=10
,dic1中的x
值改變
近期文章
python網路爬蟲與文字資料分析(學術)
杭州見|python&stata資料分析課寒假工作坊
2023年b站跨年晚會彈幕內容分析
綜述:文字分析在市場營銷研究中的應用
lazy prices公司年報內容變動碰上股價偷懶
使用pandas做資料視覺化
用statsmodels庫做計量分析
yelpdaset: 酒店管理類資料集10+g
nrc詞語情緒詞典和詞語色彩詞典
loughran&mcdonald金融文字情感分析庫
股評師分析報告文字情感分析**股價
使用分析師報告中含有的情感資訊**上市公司股價變動
一行pandas**生成啞變數
使用python讀取中的文字資料
**不到40行的超燃動態排序圖
經驗分享 提公升Python基礎技術逼格的6個方法
在學習過程中有什麼不懂得可以加我的 python學習資源qun,855408893 與你分享python企業當下人才需求及怎麼從零基礎學習好python,和學習什麼內容 from operator import itemgettera a.sort key itemgetter weather da...
提公升Python逼格的10個語法 上
python 是一種代表簡單思想的語言,其語法相對簡單,很容易上手。不過,如果就此小視 python 語法的精妙和深邃,那就大錯特錯了。本文精心篩選了最能展現 python 語法之精妙的十個知識點,並附上詳細的例項 如能在實戰中融會貫通 靈活使用,必將使 更為精煉 高效,同時也會極大提公升 b格,使...
提公升Python逼格的10個語法 下
python 是一種代表簡單思想的語言,其語法相對簡單,很容易上手。不過,如果就此小視 python 語法的精妙和深邃,那就大錯特錯了。本文精心篩選了最能展現 python 語法之精妙的十個知識點,並附上詳細的例項 如能在實戰中融會貫通 靈活使用,必將使 更為精煉 高效,同時也會極大提公升 b格,使...