jupyter-pandas

mi_zy發表於2021-02-15

https://edu.51cto.com/center/course/lesson/index?id=596992     Python Pandas Excel 辦公自動化視訊課程


1、(按H/h鍵 展示快捷鍵幫助)Jupyter筆記本有兩種不同的鍵盤輸入模式. 編輯模式允許您將程式碼或文字輸入到一個單元格中,並通過一個綠色的單元格來表示 命令模式將鍵盤與筆記本級命令繫結在一起,並通過一個灰色的單元格邊界顯示,該邊框為藍色的左邊框。

命令模式 (按鍵 Esc 開啟)快捷鍵:

Enter : 轉入編輯模式

Esc:進入command模式

Shift-Enter : 執行本單元,選中下個單元

Ctrl-Enter : 執行本單元

Alt-Enter : 執行本單元,在其下插入新單元

Y : 單元轉入程式碼狀態

M :單元轉入markdown狀態

R : 單元轉入raw狀態

A:在上方增加一個cell

B:在下方增加一個cell

Tab:程式碼補全

2、Pandas使用xlsxwriter引擎儲存資料,可給數值列設定特定的格式

https://blog.csdn.net/pdcfighting/article/details/112342919

3、dataframe:

df.loc:用標籤定位

df.iloc[行,列]:用position定位

df.ix:新版本遺棄

df.loc[df['sex']=='male','age'].mean() 統計

df.loc[(df['終止時間']==20200501)].count()

df.groupby('終止時間')['起飛'].value_counts()

(df.groupby('終止時間').count())['機型'].sum()

low = datetime(2021,3,27) //大於指定日期的所有記錄

df.loc[(df['結束日期']>=low)]

//Pandas日期資料處理:如何按日期篩選、顯示及統計資料

https://www.cnblogs.com/lemonbit/p/6896499.html  

4、df = pd.read_excel(r"./data/202010221216(初始資料).xls",

                   sheet_name=0,header=0,

                   dtype={ '航班號':"string",

                           '執行日期':"period[D]", 

                          "開始日期":"period[D]",

                          "STD":"string",

                          "STA":"string",

                          "結束日期":"period[D]"})

dtype儘量人工指定,避免使用object 型別。

任務性質 航班號 機型 機號 任務分類 起飛 STD STA 落地 執行日期 班期 開始日期 結束日期
0 N AZG085 B747 VQBVB H/Y UBBB 1645 0005 ZHCC 2020-11-01 7 2020-10-31 2020-11-01

with pd.ExcelWriter('./data/bydateplan.xls',

                  date_format='YYYY-MM-DD',

                  datetime_format='YYYY-MM-DD HH:MM:SS') as writer:    // ' YYYY-MM-DD'只顯示年月日

    df.to_excel(writer, sheet_name='Sheet1', index=False)

writer.save()

*使用 datetime_format,避免寫入 excel日期格式是“ 2018-12-08 00:00:00” ,而是“2018-12-08”;例如datetime_format='HH:MM',寫入excel格式為“10:54“

5、解析STD/S他的時分格式。

1)df = pd.read_excel(r"./data/test.xls",

                   parse_dates=[0],

                   date_parser=lambda x:pd.to_datetime(x,format='%Y年%m月%d日 %I時%M分%S秒'))

將“2018年12月08日 10時54分34秒”解析成“ 2018-12-08 10:54:34

2)df = pd.read_excel(r"./data/test.xls",

                   parse_dates=[4],

                   date_parser=lambda x:pd.to_datetime(x,format='%I%M%S'))

將“ 111200 ”解析成“ 1900-01-01 11:12:00

3)df = pd.read_excel(r"./data/test.xls",

                   parse_dates=[1],

                   date_parser=lambda x:pd.to_datetime(x,format='%Y年%m月%d日'))

將“ 2020年02月15日 10時54分34秒 ”解析成“ 2020-02-15

4)df = pd.read_excel(r"./data/test.xls",

                   parse_dates=[4],

                   date_parser=lambda x:pd.to_datetime(x,format='%I%M'))

將“ 1112 ”解析成“ 1900-01-01 11:12:00

6、讀取excel時去除多餘的“空格/回車/換行”符

1)df = pd.read_excel(r"./data/外國及港澳臺地區公司正班落地航班計劃.xls")

      航班號      機型      班期     有效期起始   有效期截止
        74N/74Y  \t.....6.\t  20200329  20201024

2)df = pd.read_excel(r"./data/外國及港澳臺地區公司正班落地航班計劃.xls",

                  converters={'航班號':lambda x: x.strip()})

或者:

df = pd.read_excel(r"./data/外國及港澳臺地區公司正班落地航班計劃.xls",

                  converters={'航班號':str.strip,'班期':str.strip})

      航班號   機型      班期    有效期起始  有效期截止
        74N/74Y  \t.....6.\t  20200329  20201024

7、





來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7970627/viewspace-2757288/,如需轉載,請註明出處,否則將追究法律責任。