取反篩選集合
取分組後每組的前幾個資料
遍歷操作
values()
如果用lambda函式,那麼條件要用()括起來,而且lambda函式所用的邏輯符號為:&(and),|(or)
如果用lambda函式,對每一行進行操作的話,需要加上axis=1的引數
一般來講簡單的邏輯篩選用lambda即可,複雜的邏輯要使用自定義函式
import numpy as np
import pandas as pd
df = pd.dataframe()
# 根據資料集大小將某列生成隨機模擬數
df["籃球場個數"] = np.random.randint(1000000, 5000000, size=len(df))
# 還有一種方法, 這裡提一下,某個範圍內的數
# df.loc[:, "籃球場個數"] = np.arange(len(df))
# 最簡單的情況(可能因為某些原因需要新增輔助列)
print(df)
# 稍微複雜點的,需要實現自己的邏輯(這裡假設要對籃球場進行考察附加條件)
def calc_para(df):
if (df.省 == "遼寧" and df.市 == "大連") or (df.省 == "四川" and df.市 == "成都"):
return "嚴重考察"
elif df.省 == "遼寧" and df.市 == "葫蘆島":
return "派人取查"
else:
return "隨機抽查"
# 不需要傳入引數,預設引數就為df, axis=1代表著將每一行拿到自定義函式中進行運算
print(df)
有時候在篩選資料集的時候往往條件很複雜,但是這些複雜的對立條件卻只有乙個,這種情況下就可以通過對立條件取反篩選所需要的資料一般來講,主要還是針對isin或者df[df.column_name==""]這種條件
# 還是用上面的資料
# 需求為不要瀋陽的資料(我這裡因為資料集合比較簡單,需求也只有乙個條件,如果是多個條件同時需要滿足,那麼可能直接篩選就不是很清晰)
df = df[df.市 !=
"瀋陽"
]print
(df)
# 如果提交見很多,那麼可能上面的方法就滿足不了條件
# 不看瀋陽的資料(~取反的話必須後面要將所有取反條件括起來)
df = df[
~(df.市 ==
"瀋陽")]
print
(df)
還是以第乙個**為例,假如需要篩選出每個省份擁有籃球場最多的2個地級市,因為我最開始是用for迴圈迭代做的,後面知道這個方法,確實優秀,分享一下
# 將每個省市籃球場由大到小排序
df.sort_values(by=["省", "市", "籃球場個數"], ascending=false, inplace=true)
# 提取出每個省籃球場個數排名前兩名的市
tmp_df = df.groupby(by=["省"]).head(2)
print(tmp_df)
# 這裡要根據條件對add_symbol列進行更改,滿足條件的由 0 變更為 1
tmp_repo_df = pd.dataframe()
tmp_repo_df["add_symbol"] = 0
diff = 100
sum_amount = 0
for index, item in tmp_repo_df.iterrows():
# 不能夠直接進行比如 sum_amount += item["actqty_add"] / item["conversion"]這種操作
actqty_add = item["actqty_add"]
conversion = item["conversion"]
sum_amount += actqty_add / conversion
if sum_amount > diff:
# 保證最後一次的增加超過diff
tmp_repo_df.loc[index, "add_symbol"] = 1
break
tmp_repo_df.loc[index, "add_symbol"] = 1
用for迴圈每一行會生成乙個列表,方便的是可以用列表的命令操作,一般用於對資料的處理和整合,相比較iterrows來說,可能唯一的好處是可以根據列表方法對資料進行操作
# 將同乙個stpid的彙總,並生成分類彙總的字典,為後面對映做個快取
df = pd.dataframe()
stpid_organ_dic = {}
for i in org_group.values:
organs = i[1].split(",")
stpid_organ_dic.update()
print(stpid_organ_dic)
Vue 使用tinymce遇到的一些坑
現在網上有很多介紹vue引用tinymce的方法,例如 這些部落格都是可以參考的案例,安裝和配置元件的方式都差不多,主要還是看個人的使用。1 安裝外掛程式的時候沒有 tinymce themes modern theme 這個檔案。解決辦法 用 tinymce themes silver theme...
最近遇到的一些坑
c 邏輯判斷的順序是從左向右的。conditiona conditionb 與 conditionb conditiona並不一定等價。舉個例子 void insertsort vector arr,int length arr j 1 key 由於j是int型別,所以在key 5的那次迴圈裡,j最...
python 遇到的一些坑
lst 1,2,4 print lst.iter next 列印出來的是 1 print lst.iter next 列印出來的是 1 呼叫 iter 方法的時候,生成乙個迭代器物件 如上,第二次呼叫,先生成物件,然後返回的是該物件的第乙個值 第二次和第一次列印的是兩個不同的例項的next 方法,但...