中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

pandas基礎之 Series與DataFrame操作

發布時間:2020-07-22 21:13:08 來源:網絡 閱讀:350 作者:nineteens 欄目:編程語言

  pandas包

  # 引入包

  import pandas as pd

  import numpy as np

  import matplotlib.pyplot as plt

  Series

  Series 是一維帶標簽的數組,數組里可以放任意的數據(整數,浮點數,字符串,Python Object)。其基本的創建函數是:

  s = pd.Series(data, index=index)

  其中 index 是一個列表,用來作為數據的標簽。data 可以是不同的數據類型:

  Python 字典

  ndarray 對象

  一個標量值,如 5

  Series創建

  s = pd.Series([1,3,5,np.nan,6,8])

  Series日期創建

  # 生成日期 從2013-01-01 生成至 2013-01-06

  dates = pd.date_range('20130101', periods=6)

  # DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04','2013-01-05', '2013-01-06'], dtype='datetime64[ns]', freq='D')

  Series創建列表

  # 生成2列 第一列: 012345678910 第二列: abbcdabacad

  s = pd.Series(list('abbcdabacad'))

  # 統計不同的列名

  s.unique()

  # 統計列名出現的次數

  s.value_counts()

  # 判斷第一列是否在列表中

  s.isin(['a', 'b', 'c'])

  Series索引

  # 兩列一列abcde 一列5個隨機數

  s = pd.Series(np.random.rand(5), index=list('abcde'))

  # s的列名(第一列),是Index對象

  s.index

  # 添加一行 alpha

  s.index.name = 'alpha'

  # 返回所有第一列為'a'的值

  s['a']

  # 是否有重復的index

  s.index.is_unique

  # 返回不重復index

  s.index.unique()

  # 按index分組,求出每組和

  s.groupby(s.index).sum()

  DataFrame

  DataFrame 是二維帶行標簽和列標簽的數組。可以把 DataFrame 想你成一個 Excel 表格或一個 SQL 數據庫的表格,還可以相像成是一個 Series 對象字典。它是 Pandas 里最常用的數據結構。

  DataFrame創建

  df = pd.DataFrame(np.random.randn(4, 6), index=list('ADFH'), columns=['one', 'two', 'three', 'four', 'five', 'six'])

  # 添加index 如果該index沒有對應值設為NaN

  df2 = df.reindex(index=list('ABCDEFGH'))

  # 重新設置col(行頭)

  df.reindex(columns=['one', 'three', 'five', 'seven'])

  # 把NaN值設為默認的0

  df.reindex(columns=['one', 'three', 'five', 'seven'], fill_value=0)

  # fill method 只對行有效

  df.reindex(columns=['one', 'three', 'five', 'seven'], method='ffill')

  # 重置列index

  df.reindex(index=list('ABCDEFGH'), method='ffill')

  DataFrame操作

  df = pd.DataFrame(np.random.randn(4, 6), index=list('ADFH'), columns=['one', 'two', 'three', 'four', 'five', 'six'])

  # 所有index 為'A' col 為'one'的位置的值設置為100

  df.loc['A']['one'] = 100

  # 舍棄index 為'A'的行

  df.drop('A')

  # 舍棄columns 為 'two' 'four'的列

  df2 = df.drop(['two', 'four'], axis=1)

  # 數據拷貝

  df.iloc[0, 0] = 100

  # 獲取index 為'one'的行

  df.loc['one']

  DataFrame計算

  df = pd.DataFrame(np.arange(12).reshape(4, 3), index=['one', 'two', 'three', 'four'], columns=list('ABC'))

  # 每一列作為一個 Series 作為參數傳遞給 lambda 函數

  df.apply(lambda x: x.max() - x.min())

  # 每一行作為一個 Series 作為參數傳遞給 lambda 函數

  df.apply(lambda x: x.max() - x.min(), axis=1)

  # 返回多個值組成的 Series

  def min_max(x):鄭州人流多少錢 http://mobile.zyyyzz.com/

  return pd.Series([x.min(), x.max()], index=['min', 'max'])

  df.apply(min_max, axis=1)

  # applymap 逐元素計算 每個值保留2位小數

  formater = '{0:.02f}'.format

  df.applymap(formater)

  DataFrame列選擇/增加/刪除

  df = pd.DataFrame(np.random.randn(6, 4), columns=['one', 'two', 'three', 'four'])

  # 第三列 為 第一列 加上 第二列

  df['three'] = df['one'] + df['two']

  # 添加一個flag列 大于0為True 否則為False

  df['flag'] = df['one'] > 0

  # 刪除col為'three'的列

  del df['three']

  # 獲取被刪的

  four = df.pop('three')

  # 選取col為 five

  df['five'] = 5

  #

  df['one_trunc'] = df['one'][:2]

  # 指定插入位置

  df.insert(1, 'bar', df['one'])

  使用assign() 方法來插入新列

  df = pd.DataFrame(np.random.randint(1, 5, (6, 4)), columns=list('ABCD'))

  # 新列Ratio 值為 df['A'] / df['B']

  df.assign(Ratio = df['A'] / df['B'])

  # 新列AB_Ratio CD_Ratio 值為lambda表達式的值

  df.assign(AB_Ratio = lambda x: x.A / x.B, CD_Ratio = lambda x: x.C - x.D)

  DataFrame排序

  df = pd.DataFrame(np.random.randint(1, 10, (4, 3)), index=list('ABCD'), columns=['one', 'two', 'three'])

  # 按index 為one 排序

  df.sort_values(by='one')

  #

  s.rank()

  DataFrame操作

  DataFrame 在進行數據計算時,會自動按行和列進行數據對齊。最終的計算結果會合并兩個 DataFrame。

  df1 = pd.DataFrame(np.random.randn(10, 4), index=list('abcdefghij'), columns=['A', 'B', 'C', 'D'])

  df2 = pd.DataFrame(np.random.randn(7, 3), index=list('cdefghi'), columns=['A', 'B', 'C'])

  df1 + df2

  df1 - df1.iloc[0]


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新巴尔虎左旗| 安平县| 长葛市| 田林县| 靖宇县| 秀山| 涪陵区| 开江县| 泰宁县| 盐池县| 睢宁县| 黄平县| 彩票| 长海县| 常德市| 韩城市| 阿合奇县| 集贤县| 宝应县| 治县。| 柘城县| 潮州市| 寿宁县| 涟水县| 石景山区| 延庆县| 千阳县| 梁平县| 周宁县| 南开区| 织金县| 萍乡市| 仲巴县| 珲春市| 四子王旗| 青河县| 长葛市| 嘉义县| 镇江市| 花垣县| 攀枝花市|