Python包之Pandas介紹

2021-09-22 22:56:18 字數 3962 閱讀 8550

前言:pandas 是乙個開源的軟體庫。dataframes和series是其兩個主要資料結構,被廣泛用於資料分析。series 是單維索引陣列,而dataframes 是具有列級和行級索引的**資料結構。pandas 是預處理資料集的絕佳工具,可提供高度優化的效能。

numpy介紹

下面是詳細介紹**用例:

import pandas as pd

series_1 = pd.series([2,9,9,1]) #建立乙個series物件

print(series_1.values) #輸出series物件的值

#> [2 9 0 1]

series_1.index #series物件預設的下標

#> rangeindex(start=0, stop=4, step=1)

series_1.index = ['a', 'b', 'c', 'd'] #設定series物件的下標

series_1['d'] #使用新下標來取值

#> 1

#用pandas建立dataframe

class_data =

class_df = pd.dataframe(class_data, index=['student1', 'student2', 'student3'], columns=['names', 'standard', 'subject'])

print(class_df)

#> names standard subject

# student1 jeck 7 english

# student2 rose 5 math

# student3 amiy 8 sci

class_df.names #直接呼叫屬性

#>student1 jeck

#student2 rose

#student3 amiy

#name: names, dtype: object

#向dataframe新增新條目

import numpy as np #匯入numpy

class_df.ix['student4'] = ['rob',np.nan, 'history']

class_df.t # 轉置dataframe

#> student1 student2 student3 student4

#names jeck rose amiy rob

#standard 7 5 8 nan

#subject english math sci history

class_df.sort_values(by='standard') #根據一列排序行

#> names standard subject

#student2 rose 5.0 math

#student1 jeck 7.0 english

#student3 amiy 8.0 sci

#student4 rob nan history

#新增額外一行到dataframe的物件中

col_entry = pd.series(['a', 'b', 'a+', 'c'], index=['student1','student2','student3','student4'])

class_df['grade'] = col_entry

print(class_df)

# names standard subject grade

#student1 jeck 7.0 english a

#student2 rose 5.0 math b

#student3 amiy 8.0 sci a+

#student4 rob nan history c

#將兩個dataframes連線起來

student_age = pd.dataframe(data=, index=['student1','student2','student3','student4'])

print(student_age)

#> age

#student1 13

#student2 10

#student3 15

#student4 18

class_data = pd.concat([class_df, student_age], axis=1) # 按行新增

print(class_data)

#> names standard subject grade age

#student1 jeck 7.0 english a 13

#student2 rose 5.0 math b 10

#student3 amiy 8.0 sci a+ 15

#student4 rob nan history c 18

#map function

class_data['subject'] = class_data['subject'].map(lambda x : x + 'sub') # lambda代替一些簡單的函式

print(class_data['subject'])

#> student1 englishsub

#student2 mathsub

#student3 scisub

#student4 historysub

#name: subject, dtype: object

def age_add(x): # 定義乙個提高年齡一歲的新函式

return (x+1)

print('------old valus-----')

print(class_data['age'])

print('----new value----')

#> ------old valus-----

#student1 13

#student2 10

#student3 15

#student4 18

#name: age, dtype: int64

#----new value----

#student1 14

#student2 11

#student3 16

#student4 19

#name: age, dtype: int64

下面可以將列的資料型別更改為 「category」 型別:

class_data['grade'] = class_data['grade'].astype('category')

print(class_data.grade.dtypes)

#> category

以下**將結果儲存為 .csv 檔案:

#儲存結果

class_data.to_csv('class_dataset.csv', index=false)

更加詳細的內容可以戳這裡的官網:

pandas官網

Python 資料框之Pandas包

2.刪除 賦值 3.資料框的其他操作 從r語言轉戰python的小夥伴們,經常會遇到資料格式轉換上的問題。與r語言常用資料框格式不同,python以陣列矩陣儲存資料為主。但是python也是相容資料框格式,需要使用到pandas包。下面介紹幾種資料框的常用操作。df.columns 提取列名 df....

Python金融資料處理之Pandas包

在python的pandas包中,有兩種資料結構可以很方便地用於儲存複雜的資料,為series和dataframe。一 series 首先先講一下series,series是dataframe的基礎。series可以認為是個具有索引 index 的一維陣列,可以和程式設計中另乙個常用的概念hash ...

Python資料分析入門(三) Pandas介紹

那麼問題來了 numpy已經能夠幫助我們處理資料,能夠結合matplotlib解決我們資料分析的問題,那麼pandas學習的目的在什麼地方呢?numpy能夠幫我們處理處理數值型資料,但是這還不夠,很多時候,我們的資料除了數值之外,還有字串,還有時間序列等 比如 我們通過爬蟲獲取到了儲存在資料庫中的資...