<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      pandas 常用操作記錄

      apply函數

      一個非常靈活的函數,能夠對整個DataFrame或者Series執行給定函數的操作。

      函數可以是自定義的,也可以是python或者pandas內置的函數,還可以是匿名函數。

      作用: 用于數值轉換, 或者添加新列的時候

      模擬數據:

      import pandas as pd
      import numpy as np
      
      df = pd.DataFrame(
          {"name":["xiaoming","sunjun","jimmy","tom"],
          "sex":["male","female","female","male"],
          "chinese":[100,80,90,92],
          "math":[90,100,88,90]
          })
      
      df
      

      例子:

      1/ 轉換某列的數值

      df["chinese"] = df["chinese"].apply(float)
      或者:
      df['chinese'] = df['chinese'].astype(float)
      

      2/ 性別列轉換,將性別為male的改為0, female改為1

      def change_sex(x):  # male-0  female-1
          return 0 if x == "male" else 1
      
      df["sex"] = df["sex"].apply(change_sex)
      
      或者用lambda函數
      
      df['sex'] = df.apply(lambda x: 0 if x.sex == 'male' else 1, axis=1) # axis的意思代表從橫向處理
      
      

      3/ 用lambda函數將name首字母大寫:

      df["name"] = df["name"].apply(lambda x: x.title())
      

      4/ 新增一列 求chinese和math的總分

      df['score'] = df.apply(lambda x: x.chinese + x.math, axis=1) # 同時操作兩列,記得axis=1
      

      5/ 將某列的日期改變

      
      import datetime
      def change_day(x):
          year = x.year - 100 if x.year > 1989 else x.year
          return datetime.date(year, x.month, x.day)
      wind['Yr_Mo_Dy'] = wind['Yr_Mo_Dy'].apply(change_day)
      wind.head()
      
      ---
      # 新增年月日列
      wind['data'] = wind.Yr_Mo_Dy
      wind['month'] = wind['data'].apply(lambda data: data.month)
      wind['year'] = wind['data'].apply(lambda data: data.year)
      wind['day'] = wind['data'].apply(lambda data: data.day)
      
      

      agg函數:

      agg函數一般和groupby函數一起使用

      1/ 求chinese的平均分和sum

      df["chinese"].agg(["mean", "sum"])
      
      或者
      op_dict = {'chinese': 'sum', 'chinese2':'mean'}
      df['chinese2'] = df.chinese
      df2 = df['chinese'].agg(op_dict).reset_index()
      df2.columns = ['index',"score"]
      df2
      

      2/求男生和女生的ch的平均分和總分是多少

      df['chinese2'] = df.chinese
      op_dict = {'chinese': 'sum', 'chinese2':'mean'}
      df2 = df.groupby('sex').agg(op_dict).reset_index() # reset_index用于將columns定為索引
      df2
      

      3/統計性別男女 sex 的chinese 的平均分(新增一個字段放在最后面)

      op_dict = {'chinese': 'mean'}
      df1 = df.groupby('sex').agg(op_dict).reset_index() # 先求出男女平均分,然后merge在一起
      df1.columns = ["sex", "chi_average"]
      df1
      df.merge(df1,on='sex', how='left')
      

      merge函數

      作用: 多用于合并
      用法:

      1/ 將兩個表合并

      df_data = df_data.merge(node_events_detail_df, on=['device_id', 'day'], how='left').fillna(0) # df_data和node_events_detail_df合并 , 拼合字段為on ,how為left 左連接和outer外聯, 
      fillna(0) 為如果是空值則補0
      

      判斷dateframe是否為空

      if df_data.empty:
      

      pivot_table函數

      作用:透視表,將列轉為行
      參考具體用法

      https://blog.csdn.net/mingkoukou/article/details/82870960

      例子:

      node_events_detail_df = node_events_detail_df[['device_id', 'pn', 'day', 'calculate_event_type_num']] # 排好需要用到的columns
      # 透視表,需要選擇到的columns=pn,新增一列calculate_event_type_num 其實就是改了名字的pn, 選取values的值 則為pn的值,fill_value 為默認值為0 aggfunc為遇到相同的pn 聚合函數或函數列表, 最后轉為int
      node_events_detail_df = node_events_detail_df.pivot_table(index=['biz_game_code', 'biz_gcp_code', 'device_id', 'day'],columns='pn',values='calculate_event_type_num', fill_value='0', aggfunc='sum').astype(int)
      node_events_detail_df = node_events_detail_df.reset_index()
      

      新增一列數據

      
      chipo['new'] = chipo.apply(lambda x: x.item_price[1:-1] if x.item_price else 0, axis=1) # 切片去掉不能轉為浮點數的數字
      
      
      data_df['ip_name'] = data_df.apply(lambda x: self.get_ip_city(x.ip_name), axis=1)
      data_df['ifa_type'] = data_df.apply(lambda x: self.get_ifa_type_name(x.ifa_type), axis=1)
      data_df['newflag_g'] = data_df.apply(lambda x: '是' if x.newflag_g else '否', axis=1)
      data_df['newflag_gcp'] = data_df.apply(lambda x: '是' if x.newflag_gcp else '否', axis=1)
      
      

      iloc函數

      作用:將df進行一個切割
      df[:,:] # 前面控制的是多少行, 后面控制的是多少列, 從0開始算
      參考具體用法

      concat函數

      作用: 將兩個二維數組合并

      用法:

      import numpy as np
      import pandas as pd
      raw_data_1 = {
              'subject_id': ['1', '2', '3', '4', '5'],
              'first_name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 
              'last_name': ['Anderson', 'Ackerman', 'Ali', 'Aoni', 'Atiches']}
      
      raw_data_2 = {
              'subject_id': ['4', '5', '6', '7', '8'],
              'first_name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 
              'last_name': ['Bonder', 'Black', 'Balwner', 'Brice', 'Btisan']}
      
      raw_data_3 = {
              'subject_id': ['1', '2', '3', '4', '5', '7', '8', '9', '10', '11'],
              'test_id': [51, 15, 15, 61, 16, 14, 15, 1, 61, 16]}
      data1 = pd.DataFrame(raw_data_1)
      data2 = pd.DataFrame(raw_data_2)
      data3 = pd.DataFrame(raw_data_3)
      
      # data1和data2兩個數據框按照行的維度進行合并,命名為all_data
      all_data = pd.concat([data1, data2])
      all_data
      # data1和data2兩個數據框按照列的維度進行合并,命名為all_data_col
      all_data_col = pd.concat([data1, data2], axis=1)
      all_data_col
      # 按照subject_id的值對all_data和data3作合并
      all_data
      all_data.merge(data3, on=['subject_id'],how='left').fillna(0)
      #  對data1和data2按照subject_id作連接
      data1.merge(data2, on='subject_id', how='inner',suffixes=('_left', '_right'))
      

      query函數的使用

      作用: 對二維數組 數據進行查找使用

      用法:

      # 查找是columns為day的8月2號的數據且廣告id為1的,然后相加
      pay_df.query('ad_id==1 and user_day == "20220802"').sum()
      
      posted @ 2022-08-09 15:13  陳科科  閱讀(112)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲一区二区三区久久受| 亚洲精品天堂一区二区| 国产亚洲欧美精品久久久| 人人澡超碰碰97碰碰碰| 国产成人精品无码免费看夜聊软件| 久久精品人人看人人爽| 亚洲精品一区二区二三区| 99久久激情国产精品| 在线观看热码亚洲AV每日更新| 亚洲理论在线A中文字幕| 青青狠狠噜天天噜日日噜| 国产精品 第一页第二页| 亚洲精品在线少妇内射| 中文字幕亚洲制服在线看| 国产精品制服丝袜第一页| 乱人伦无码中文视频在线| 工布江达县| 亚洲国产成人不卡高清麻豆| 影音先锋2020色资源网| 亚洲精品一区二区美女| 国产伦一区二区三区久久| 国产精品大片中文字幕| 亚洲成av人片无码天堂下载| 免费大片av手机看片高清| 亚洲国产亚洲国产路线久久| 欧洲一区二区中文字幕| 成人免费区一区二区三区| 大色综合色综合网站| 精品无人乱码一区二区三区| 华池县| 麻豆tv入口在线看| 蜜臀精品视频一区二区三区| 久久亚洲精品中文字幕馆| 精品视频不卡免费观看| 乱人伦中文字幕成人网站在线| 免费看无码自慰一区二区| 国产91丝袜在线观看| 久久人与动人物a级毛片| 无码综合天天久久综合网| 韩国一级毛片中文字幕| 亚洲av专区一区|