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

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

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

      Geek

      博客園 首頁 新隨筆 聯系 訂閱 管理

      pandas 行索引

      pandas索引修改

      >>> df.index = pd.Index(list('ABCD'))
      >>> df.columns = pd.Index(list('abcd'))
      >>> df
                a b c d
      A 0.776520 0.093637 0.819028 0.304640
      B 0.130550 0.682061 0.102499 0.782682
      C 0.995216 0.959426 0.337403 0.897070
      D 0.253985 0.161841 0.536915 0.269828
      
      

      pandas 行索引改為日期

      import pandas as pd
      
      # 示例數據(假設已有 'date' 列)
      data = {
          'date': ['2023-01-01', '2023-01-02', '2023-01-03'],
          'value': [100, 200, 300]
      }
      df = pd.DataFrame(data)
      
      # 將 'date' 列轉換為 datetime 類型,并設為索引
      df['date'] = pd.to_datetime(df['date'])
      df.set_index('date', inplace=True)
      
      print(df)
      
      

      import pandas as pd 
        
      # calling DataFrame constructor 
      df = pd.DataFrame() 
        
      # Create 6 dates 
      df['time'] = pd.date_range('2/5/2019', periods = 6, freq ='2H') 
      print(df['time'])  # print dataframe 
        
      # Extract features - year, month, day, hour, and minute 
      df['year'] = df['time'].dt.year 
      df['month'] = df['time'].dt.month 
      df['day'] = df['time'].dt.day 
      df['hour'] = df['time'].dt.hour 
      df['minute'] = df['time'].dt.minute 
        
      # Show six rows 
      df.head(6) 
      
      

      rename

      dataframe[column_name].rename('industry') 
      dataframe.rename(columns={ 'name':'industry'})
      

      dataframe 篩選行

      篩選列數據

      import numpy as np
      
      # 添加缺失值
      df.loc[2, 'Age'] = np.nan
      
      # 篩選 Age 等于 25 或 NaN 的行
      filtered_df = df[df['Age'].eq(25) | df['Age'].isna()]
      

      參數說明

      方法 參數 作用
      eq() other 判斷元素是否等于 other
      ne() other 判斷元素是否不等于 other
      isin() values 判斷元素是否在 values 列表中
      str.contains() pat 判斷字符串是否包含子串 pat
      query() expr 使用字符串表達式篩選數據

      總結

      • 精確匹配:優先使用 eq()==
      • 多條件篩選:用 &(與)、|(或)連接條件,注意括號
      • 缺失值處理:結合 isna()fillna()
      • 靈活查詢query() 適合復雜邏輯表達式

      通過組合這些方法,可以高效完成數據篩選任務。

      根據平均值篩選

      df=df[df.最高.lt( df.最高.mean() -23)]
      print(df)
      

      字符串篩選

      
      df = df[df.loc[:'書名'].str.len() < 15]
      
      
      

      索引切片

      df = df[:3]
      
      # 選擇最后4行
      df = df[-4:]
      
      # 每隔2行選, 返回奇數行
      df = df[1::2] 
      
      
      

      loc修改單個數據

      
      df.loc[601857,'行業'] = '加油站'
      

      any函數

      lambda表達式 和 iloc

      # 篩選第0列值大于1的行
      filtered_df = df[df.apply(lambda row: row.iloc[0] > 1, axis=1)]
      
      
      import pandas as pd
      
      df = pd.DataFrame({
          'A': [1, 2, 3],
          'B': [4, 5, 6],
          'C': [7, 8, 9]
      })
      
      # 遍歷每行每列
      for i in range(len(df)):          # 行索引
          for j in range(len(df.columns)):  # 列索引
              value = df.iloc[i, j]     # 用iloc定位
              print(f"行[{i}], 列[{j}]: {value}")
      

      pandas 文本操作

      
      import pandas as pd
      
      # 示例數據
      data = {'Name': ['Alice', 'Bob', 'Charlie', 'David'],
              'Email': ['alice@gmail.com', 'bob@yahoo.com', 'charlie@hotmail.com', 'david@gmail.com']}
      df = pd.DataFrame(data)
      
      # 篩選Email中包含"gmail"的行
      gmail_users = df[df['Email'].str.contains('gmail')]
      print(gmail_users)
      
      import pandas as pd
      
      # 示例數據
      data = {'Name': ['Alice', 'Bob', 'Charlie', 'David', 'Eva123']}
      df = pd.DataFrame(data)
      
      # 檢測Name是否以"A"開頭
      df['Starts_with_A'] = df['Name'].str.match('^A')
      print(df)
      
      
      

      is操作符

      總結:Pandas is 函數速查表

      函數 作用 常用場景
      isna() / isnull() 檢測缺失值 數據清洗時過濾缺失值
      notna() / notnull() 檢測非缺失值 篩選有效數據
      isin() 判斷是否在列表中 分類篩選、數據匹配
      is_monotonic_increasing 檢查是否單調遞增 時間序列驗證
      str.isnumeric() 檢測字符串是否全為數字 數據格式校驗
      is_unique 檢查值是否唯一 主鍵/索引驗證
      is_sparse 檢測稀疏數據 內存優化場景
      is_categorical() 檢測分類數據 分類變量處理

      ~ 取反操作符

      df[~ df['op']== 'add']

      nsmallest 最小值

      apply函數

      query運算符

      import pandas as pd
      
      df = pd.DataFrame({
          'A': [1, 2, 3, 4],
          'B': ['x', 'y', 'z', 'x']
      })
      
      # 篩選A列大于2的行
      result = df.query('A > 2')
      print(result)
      
      # 篩選B列為'x'或'y'的行
      result = df.query("B in ['x', 'y']")
      print(result)
      
      

      query 方法支持鏈式操作

      rolling 篩選

      # 計算3日簡單移動平均
      df['SMA_3'] = df['Close'].rolling(window=3).mean()
      print(df[['Close', 'SMA_3']])
      
      # 標記超出3σ范圍的異常點
      df['Z-Score'] = (df['Close'] - df['Close'].rolling(30).mean()) / df['Close'].rolling(30).std()
      df['Anomaly'] = df['Z-Score'].abs() > 3
      

      sample隨機抽取

      # 從列中隨機選擇2列
      sampled_cols = df.sample(n=2, axis=1, random_state=42)
      print(sampled_cols)
      

      isna 方法

      統計 isna 的數量

      df.isna().sum(axis=1) 
      df.notna().sum(axis=1)
      
      

      常用于矩陣求和計算,以下用法分為三種情況來介紹!
      格式:np.sum(a)
      np.sum(a, axis=0) ------->列求和
      np.sum(a, axis=1) ------->行求和
      注意:特別注意后兩種用法。

      dropna/fillna/mask 方法

      df.dropna(axis=0,how='any/all')
      
      
      
      

      mask 可以按照條件填充

      apply 及類型轉化

      # 轉化為 str 
      df.id = df.id.apply(str)
      
      df.id = df.id.astype(int)
      

      1. 核心區別總結

      特性 astype() apply()
      主要用途 強制轉換整個列的數據類型 對數據執行復雜的自定義轉換
      操作對象 整個列(向量化操作) 可針對列、行或單個元素
      性能 高效(底層C優化) 較慢(Python循環)
      靈活性 僅支持預定義的類型轉換 支持任意Python函數
      適用場景 簡單類型轉換(如字符串→數值) 需要條件判斷、多列協作的復雜邏輯

      where 方法 復雜條件修改

      df1 = df.copy()
      # 默認及格
      df1['math_pass'] = '及格'
      df1['math_pass'] = df1['math_pass'].where(df1['math'] > 60, '不及格')
      
      

      cat 方法

      
      >>>Series([‘a‘,‘b‘,‘c‘]).str.cat([‘A‘,‘B‘,‘C‘],sep=‘,‘)
      

      merge 方法

      df1 = pd.DataFrame({
          'Dept': ['HR', 'IT', 'Finance'],
          'EmpID': [101, 102, 103]
      })
      df2 = pd.DataFrame({
          'Dept': ['IT', 'Finance', 'Marketing'],
          'EmpID': [102, 103, 104],
          'Salary': [7000, 8000, 9000]
      })
      
      # 按Dept和EmpID左連接
      result = pd.merge(df1, df2, on=['Dept', 'EmpID'], how='left')
      print(result)
      

      clip 方法

      import pandas as pd
      
      data = {'value': [10, 25, 5, 30, 15]}
      df = pd.DataFrame(data)
      
      # 將'value'列的值限制在10和20之間
      df['value'].clip(lower=10, upper=20, inplace=True)
      print(df)
      
      
      
      
      

      stack 方法 - 寬表轉長表

      df_single_level = pd.DataFrame(
          [['Mostly cloudy', 10], ['Sunny', 12]],
          index=['London', 'Oxford'],
          columns=['Weather', 'Wind']
      )
      df_single_level.stack()
      
      posted on 2025-04-14 15:06  .geek  閱讀(42)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 秋霞在线观看秋| 亚洲一区二区三区小蜜桃| 国产精品一码二码三码四码| 午夜福利国产精品视频| 成人午夜精品无码区久久| 亚洲国语自产一区第二页| 四虎影视一区二区精品| 久热在线中文字幕色999舞| 少妇高潮流白浆在线观看| 大地资源免费视频观看| 国产精品免费无遮挡无码永久视频| 亚洲综合小综合中文字幕| 中文 在线 日韩 亚洲 欧美 | 久久se精品一区精品二区国产| 国产精品高清视亚洲乱码| 亚洲中文字幕精品久久久久久动漫| 日韩精品一区二区都可以| 做暖暖视频在线看片免费| 久久精品国产亚洲av天海翼 | 美乳丰满人妻无码视频| 国产精品国产三级国av| 少妇久久久被弄到高潮| 国色天香成人一区二区 | av无码精品一区二区三区| 日韩精品无码一区二区视频| 美女胸18大禁视频网站| 视频免费完整版在线播放| 国产美女自卫慰黄网站| 宣汉县| 亚洲欧美成人综合久久久| 色偷偷www.8888在线观看| 大伊香蕉在线精品视频75| 亚洲最大天堂在线看视频| 久久人人97超碰人人澡爱香蕉| 日韩丝袜欧美人妻制服| 东京热一区二区三区在线| 黄色三级亚洲男人的天堂| 亚洲成人精品综合在线| 寿宁县| av天堂久久精品影音先锋| 国产精品乱码人妻一区二区三区 |