pandas 查詢函數(shù)query的用法說明
query() 函數(shù)簡介
pandas的query()方法是基于DataFrame列的計算代數(shù)式,對于按照某列的規(guī)則進行過濾的操作,可以使用query方法。
代碼示例
import pandas as pd df = pd.DataFrame({'a':[1, 2, 3, 4, 5, 6], 'b':[1, 2, 3, 4, 5, 6], 'c':[1, 2, 3, 4, 5, 6]}) query_list = [1, 2] df_2 = df.query('c not in @query_list')[['a', 'b']]
使用總結(jié)
對于sql中的in或者not in,可以使用query()函數(shù)按照某列條件進行過濾,且query()函數(shù)返回一個DataFrame,可以直接在后面根據(jù)索引獲取最終想要的數(shù)據(jù)。
補充:python query方法_Pandas dataframe.query方法語法
問題:
我想更好地理解PandasDataFrame.query方法以及下面的表達式表示什么:
match = dfDays.query('index > @x.name & price >= @x.target')
@x.name代表什么?
我理解這段代碼(一個包含pandas.tslib.Timestamp數(shù)據(jù)的新列)的結(jié)果輸出是什么,但不清楚用于獲取此最終結(jié)果的表達式。
數(shù)據(jù):
從這里開始:np.random.seed(seed=1) rng = pd.date_range('1/1/2000', '2000-07-31',freq='D') weeks = np.random.uniform(low=1.03, high=3, size=(len(rng),)) ts2 = pd.Series(weeks ,index=rng) dfDays = pd.DataFrame({'price':ts2}) dfWeeks = dfDays.resample('1W-Mon').first() dfWeeks['target'] = (dfWeeks['price'] + .5).round(2) def find_match(x): match = dfDays.query('index > @x.name & price >= @x.target') if not match.empty: return match.index[0] dfWeeks.assign(target_hit=dfWeeks.apply(find_match, 1))
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。
相關(guān)文章
python3 http.client/server post傳輸json問題
這篇文章主要介紹了python3 http.client/server post傳輸json問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09python將ip地址轉(zhuǎn)換成整數(shù)的方法
這篇文章主要介紹了python將ip地址轉(zhuǎn)換成整數(shù)的方法,涉及Python針對IP地址的轉(zhuǎn)換技巧,需要的朋友可以參考下2015-03-03對python 中re.sub,replace(),strip()的區(qū)別詳解
今天小編就為大家分享一篇對python 中re.sub,replace(),strip()的區(qū)別詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07tensorflow模型繼續(xù)訓(xùn)練 fineturn實例
今天小編就為大家分享一篇tensorflow模型繼續(xù)訓(xùn)練 fineturn實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-01-01關(guān)于Python的json字符串與json模塊解讀
這篇文章主要介紹了關(guān)于Python的json字符串與json模塊解讀,JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C,?C++,?C#,?Java,?JavaScript,?Perl,?Python等),這些特性使JSON成為理想的數(shù)據(jù)交換語言,需要的朋友可以參考下2023-07-07