python小さな知識の蓄積---継続的な更新
または:pd.to_datetime( (no_equal_df[“now_year”] + 1).astype(str) + “-” + “12” + “-” + “31”).dt.date
4.デカルト積:pd.MultiIndex.from_product([name_lis, date_df.record_date.tolist()], names=[‘product_name’, ‘report_date’]).to_frame(index=False)
もう1つの直接インデックス:
df = pd.DataFrame() df[“value”] =[“apple”,“hnhn”] df[“date”] = [“2014”,“2015”,“2016”] dyear_lis = [“2014”,“2015”,“2016”] df[‘index’] = list(np.arange(df.shape[0])) product_df = pd.DataFrame() product_df[‘product_name’] = dyear_lis * df.shape[0] product_df[‘index’] = list(np.arange(df.shape[0])) * len(dyear_lis) pd.merge(df, product_df, on=[‘index’], how=‘inner’)
6.日付型データの複数列に対して最大値を求める場合、タイプはdatetimeではなくtimestrip型であるべきである
7.1)Dataframeフィールドを打つ文字列の中で空またはn個が空のselfを取り除く.fund_code[~self.fund_code[“productName”].str.contains(r’^s*$’)]2)単一リスト内の複数の空文字からなる空文字列を除去する:list(filter(lambdas:s and(type(s)!=str or len(s.strip()) > 0), user_ids))
10スクリプトに書かれた相対パスはローカルでのみ実行でき、プロジェクトに実行するときに絶対パスを書く必要があります.例:DAZIGUAN_PATH = rf"{BASE_DIR}{os.sep}algo{os.sep}daziguan{os.sep}"
11:listの文字列を長さでソート:replace_lst.sort(key=lambda x: -len(x))
12:複数列ソート:record_df.sort_values([‘topic’, ‘risk_type_score’, ‘event_score’], ascending=(1, 0, 0))
13:json.dumps()int 32型データを解析できませんint 64 result_に変換する必要がありますdf[“data_type”].astype(np.int64)
14:判断時間がある区間pdより大きい.Timedelta(hours=2)
15:mysql暗号解読:SELECT HEX(AES_ENCRYPT(front_ratio,‘abc 123’))FROM
py_etl_question_bank_financial_team_contrast
;UPDATE py_etl_question_bank_financial_team_contrast set front_ratio=HEX(AES_ENCRYPT(front_ratio, ‘abc123’)) SELECT AES_DECRYPT(UNHEX(front_ratio), ‘abc123’) FROM py_etl_question_bank_financial_team_contrast
; pythonでhex_str = [“HEX(AES_ENCRYPT(’%s’, ‘%s’))” % (val, secret_key) for val in df[column]] hex_str = "select "+ ‘,’.join(hex_str) val_df = select_sql(sql_str=hex_str, conn_dic=dic_name) product_price_all_market_gather
ADD unique(cp_id,product_object);ユニークインデックスALTER TABLE product_price_all_market_gather
DROP INDEX cp_を削除id_2 17.2列の最大最小値横behavior_をとるdf[[“middle_ratio”, ‘middle_base’]].max(axis=1)
18 apply複数のパラメータがどのようにパラメータを伝達するか
19:一部の列を削除する:rel_province_df.drop_duplicates([‘temp_id’, split_name])
20:日付差比較:
21:あるフィールドの一部を更新する:UPDATE
job_schadul_trigger_info
SET executor_param = REPLACE(executor_param, ‘http://quality-pro.pystandard.py//’, ‘http://quality-pro.pystandard.py/’) where job_desc LIke「品質管理2019%」;