資料分析課程(2)pandas

2021-09-24 20:51:29 字數 4391 閱讀 1135

series學習**

"""

pandas 入門

author:sonny

date:2019/06

"""import pandas as pd

"""pandas兩種資料結構:series,dataframe"""

from pandas import series

"""series初始化方式:通過列表初始化,通過字典初始化"""

list_series = series([1,2,3])

dic_series = series()

"""檢視series物件的鍵與值"""

print(list_series)

print(list_series.index)

print(list_series.values)

"""新增series的index,通過index去檢索"""

obj = series([4,7,-5,3],index = ['a','b','c','d'])

print (obj)

print ("obj['a']:",obj['a'])

print ("obj[['c','a','d']]:\n",obj[['c','a','d']])

"""series陣列運算"""

import numpy as np

print(obj[obj>0])

print(obj*2)

print(np.exp(obj))

"""檢視鍵是否存在"""

print("'b' in obj:",'b' in obj)

print("'e' in obj:",'e' in obj)

"""通過index修改series的鍵,匹配的鍵才會有值"""

sdata =

obj2 = series(sdata,index = ['shenzhen','guangzhou','beijing'])

print(obj2)

"""series自動對齊資料,相同索引上的元素直接相加,索引不同的元素預設為na值"""

series_1 = series()

series_2 = series()

print(series_1+series_2)

"""series物件名稱的新增,index名稱的新增"""

series_1 = series([1000,2000,3000],\

index = ['person_1','person_2','person_3'])

print("series_1.name:{}, series_1.index.name:{}"\

.format(series_1.name,series_1.index.name))

series_1.name = "salary"

series_1.index.name = "person_name"

print(series_1)

print("series_1.name:{}, series_1.index.name:{}"\

.format(series_1.name,series_1.index.name))

"""索引的修改"""

series_1 = series([1,2,3],index = ['a','b','c'])

series_1.index = ['d','e','f']

print(series_1)

part2:dataframe學習**

"""

pandas入門,dataframe基礎

author:sonny

date:2019/06

"""import pandas as pd

from pandas import dataframe

import numpy as np

"""dataframe與series相比,面向行和列的操作是平衡的,

資料多以乙個或者多個二維塊存放

通過傳遞乙個 numpyarray,時間索引以及列標籤來建立乙個dataframe

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

print(dates)

df = pd.dataframe(np.random.randn(6,4), index=dates, columns=list('abcd'))

print(df)

"""通過傳遞乙個能夠被轉換成類似序列結構的字典物件來建立乙個dataframe"""

df2 = pd.dataframe()

print(df2)

"""檢視不同列的資料型別"""

print(df2.dtypes)

"""檢視dataframe中頭部和尾部的行"""

print(df.head(3))

print(df.tail(3))

"""顯示索引、列和底層的 numpy 資料"""

print(df.index)

print(df.columns)

print(df.values)

""" describe()函式對於資料的快速統計彙總"""

print(df.describe())

"""對資料的轉置"""

print(df.t)

"""按軸進行排序,axis =0為按列,1為按行,ascending = false為降序"""

print(df.sort_index(axis=0))

print(df.sort_index(axis=1))

print(df.sort_index(axis=1, ascending=false))

print(df.sort_index(axis=0, ascending=false))

"""按值進行排序"""

print(df.sort_values(by='b'))

"""選擇乙個單獨的列,這將會返回乙個series,等同於df.a"""

print(df['a'])

""" 通過進行選擇,這將會對行進行切片"""

print(df[0:3])

print(df['20130102':'20130104'])

"""使用標籤來獲取乙個交叉的區域"""

print(df.loc[dates[0]])

print(df.loc[:,'a'])

print(df.loc['20130102':'20130104'])

"""通過標籤來在多個軸上進行選擇"""

print(df.loc[:,['a','b']])

print(df.loc['20130102':'20130104',['a','b']])

"""標籤切片"""

print(df.loc['20130102':'20130104',['a','b']])

"""對於返回的物件進行維度縮減"""

print(df.loc['20130102',['a','b']])

"""獲取乙個標量"""

print(df.loc[dates[0],'a'])

"""快速訪問乙個標量(與上乙個方法等價)"""

print(df.at[dates[0],'a'])

"""通過傳遞數值進行位置選擇(選擇的是行)"""

print(df.iloc[3])

"""通過數值進行切片,與 numpy/python 中的情況類似"""

print(df.iloc[3:5,0:2])

"""通過指定乙個位置的列表,與 numpy/python 中的情況類似"""

print(df.iloc[[1,2,4],[0,2]])

"""對行進行切片"""

print(df.iloc[1:3,:])

"""對列進行切片"""

print(df.iloc[:,1:3])

"""獲取特定的值"""

print(df.iloc[1,1])

"""快速訪問標量(等同於前乙個方法)"""

print(df.iat[1,1])

"""布林索引,使用乙個單獨列的值來選擇資料"""

print(df[df.a > 0])

"""使用where操作來選擇資料"""

print(df[df > 0])

""" 使用isin()方法來過濾:"""

df2 = df.copy()

df2['e'] = ['one', 'one','two','three','four','three']

print(df2)

print(df2['e'].isin(['two']))

print(df2[df2['e'].isin(['two','four'])])

python資料分析筆記 2Pandas基礎

2.dataframe操作 3.pandas匯 計和計算 額外說明 1.python title 方法返回 標題化 的字串,就是說所有單詞都是以大寫開始,其餘字母均為小寫 見 istitle 2.python str.format 函式,它增強了字串格式化的功能。基本語法是通過 和 來代替以前的 f...

2 pandas選擇資料

那麼建立好資料後,或者讀入資料後,怎麼對資料進行選擇呢,下面將介紹pandas對資料的選擇 首先生成資料 import numpy as np import pandas as pd data pd.date range 20200801 periods 6 df1 pd.dataframe np....

資料分析 pandas

pandas是乙個強大的python資料分析的工具包,它是基於numpy構建的,正因pandas的出現,讓python語言也成為使用最廣泛而且強大的資料分析環境之一。pandas的主要功能 具備對其功能的資料結構dataframe,series 整合時間序列功能 提供豐富的數 算和操作 靈活處理缺失...