import pandas as pd
import numpy as np
#series物件,類似一維陣列,左邊的資料是索引,右邊的一列是資料,自動建立
a1 = pd.series([1,12])
# print(a1)
a2 = pd.series([[2,3],[2,4]])
# print(a2)
a3 = pd.series()
# print(a3)
a4 = pd.dataframe(['a','b','c'])
# print(a4)
a5 = np.random.rand(3,4)
# print(a5)
a6 = pd.dataframe(a5)
# print(a6)
#構造series物件
a7 = pd.series(data=list('sdfcesc'))
# print(a7)
# print(type(a7))
#通過values取出一維陣列
a8 = a7.values
# print(a8)
a9 = pd.series(data=list('sdfcesc'),index=list('sdfcesc'))
# print(a9)
# print(type(a9))
#通過字典形式,建立series物件
dict_obj = dict(age=12,name='小安')
a10 = pd.series(dict_obj)
# print(a10)
s1 = pd.series(data=list('asdfghjkl'),index=list('asdfghjkl'))
# print(s1)
#通過索引名稱取值
# print(s1['a'])
#按下標來取值
# print(s1[0])
'''標籤索引loc'''
# print(s1.loc['a':'h'])
# print(s1.loc[['a','h']])
'''高階索引取值
loc取行列的索引,iloc取行列的下標
'''s1 = pd.series(data=list('asdfghjkl'),index=list('abcdefghi'))
# print(s1)
arr1 = np.random.rand(3,4)
# print(arr1)
p2 = pd.dataframe(arr1, index=['a','b','c'], columns=['a','b','c','d'])
# print(p2)
#連續取多行
# print(p2.loc['a':'c'])
# print(p2.iloc[0:2]) #此時左閉右開
#不連續取多列
# print(p2.loc[['a','c']])
# print(p2.iloc[[0,2]])
#連續取多行
# print(p2.loc[:,'a':'c'])
# print(p2.iloc[:,0:1]) #此時左閉右開
#不連續取多行
# print(p2.loc[:,['a','c']])
# print(p2.iloc[:,[0,2]])
'''pandas的增刪改'''
s1 = pd.series(data=list('asdfghjkl'),index=list('abcdefghi'))
# print('series物件')
# print(s1)
arr1 = np.random.rand(3,4)
p2 = pd.dataframe(arr1, index=['a','b','c'], columns=['a','b','c','d'])
# print('dataframe物件')
# print(p2)
'''增加資料'''
#增加一列資料
p2.loc[:,'e'] = p2.loc[:,'b']+1
# print(p2)
#增加一行資料
p2.loc['d'] = p2.loc['a']
# print(p2)
'''修改資料'''
#修改乙個資料
p2.loc['a','a'] = 1
# print(p2)
#修改一串資料
p2.loc[:,'b'] = [1,2,3,4]
# print(p2)
'''刪除資料'''
p3 = p2.drop('a',axis=0) #刪除的是copy過來的物件裡的值,不會改變原來的物件
# print(p3)
# print(p2)
p4 = p2.drop('a',axis=1)
# print(p4)
# print(p2)
'''資料的對齊運算add(),sub(),mul(),div()'''
s1 = pd.series(range(10,15),index=list('abcde'))
# print(s1)
s2 = pd.series(range(20,25),index=list('cdefg'))
# print(s2)
#add
s3 = s1.add(s2)
s4 = s1.add(s2,fill_value=100) #如果找不到對應的就加預設值100
# print(s3)
# print(s4)
#sub
s3 = s1.sub(s2)
# print(s3)
# mul
# 同上
# div()
# 同上
'''資料連線merge'''
d1 = pd.dataframe(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('abcd'))
d2 = pd.dataframe(np.arange(10,26).reshape(4,4),index=list('cdmn'),columns=list('cdef'))
# print(d1)
# print(d2)
## print(pd.merge(d1,d2))
python之pandas分組統計
pandas分組統計佔比 資料例如 美贊臣標籤 2017 11 15 mob 女性 110548715660 美贊臣標籤 2017 11 15 mob 男性 104342715471 美贊臣標籤 2017 11 15 pc 女性 398273 887 美贊臣標籤 2017 11 15 pc 男性 4...
Python包之Pandas介紹
前言 pandas 是乙個開源的軟體庫。dataframes和series是其兩個主要資料結構,被廣泛用於資料分析。series 是單維索引陣列,而dataframes 是具有列級和行級索引的 資料結構。pandas 是預處理資料集的絕佳工具,可提供高度優化的效能。numpy介紹 下面是詳細介紹 用...
pandas學習之Python基礎
經常使用的幾個小技巧 1 使用pandas必須匯入兩個包 import numpy as np import pandas as pd2 當資料字段超過20個以上,需要使用以下語句來展示全部列 顯示所有列 pd.set option display.max columns none 設定value的...