1.建立:
用列表建立
pd.series([1
,2,3
,4,5
])
用numpy陣列建立
a = np.array([1
,2,3
,4,5
])pd.series(a)
用字典建立
dict_s =
pd.series(dict_s)
也可通過其他series定義新的series物件
arr = np.array([1
,2,3
,4,5
])ser1 = pd.series(arr)
ser2 = pd.series(ser1)
2.篩選
ser = pd.series([1
,2,3
,4,5
,6,7
,8,9
])ser[ser>
60]
3.運算
運算方式是相同index的值進行數**算,不能運算的元素被置為nan
4.去重
series物件.unique()
5.計算出現的個數
series物件.value_counts()
返回的index為該數字,value為該數字出現的次數
6.判斷列表與series的關係
ser = pd.series([1
,2,3
,4,5
,6])
ser.isin([2
,5])
#0 false
#1 true
#2 false
#3 false
#4 true
#5 false
#dtype: bool
ps:series中可用isnull()或者notnull()函式識別元素是否為nan,均返回series物件
1.建立
dataframe構造方法中傳遞字典
import pandas as pd
data =
df = pd.dataframe(data)
# goods price
# 0 noodles 22.0
# 1 rice 56.5
# 2 soup 10.0
# 3 toy 15.0
可用columns限制列的個數和順序
pd.dataframe(data,columns=
["price"
,"goods"
])
可用index更改行索引的名稱
pd.dataframe(data,index=
["a"
,"b"
,"c"
,"d"
])
獲取所有列名稱
dataframe物件.columns
獲取所有行名稱
dataframe物件.index
獲取所有在dataframe中的元素
dataframe物件.values
查詢某一列中儲存的元素
dataframe物件[「列名稱」]或dataframe物件.[「列名稱」]
選取行iloc屬性
df物件.iloc[數字索引]
df物件.iloc[數字列表索引]
loc屬性
df物件.loc[標籤索引]
df物件.loc[標籤列表索引]
切片df物件[數字索引切片](包左不包右)
df物件[標籤索引切片](左右都包)
獲取具體值
df物件[「列名稱」][「行名稱索引或數字」]
給index列命名
df物件.index.name = 「新值」
給columns屬性命名
df物件.columns.name = 「新值」
新增行:
df物件.loc[「index名」] = [「value1」,「value2」,…]
新增列:
df物件[「屬性名」] = [「value1」,「value2」,…]
判斷一組元素是否屬於dataframe
df物件.isin(列表)
獲取df物件[df物件.isin(列表)]
刪除行:
df物件.drop([「行索引」],axis=0,inplace=true)
刪除列:
df物件.drop([「列索引」],axis=1,inplace=true)
del df[「列索引」]
篩選:篩出dataframe中有***的地方
df物件[df物件==「***」]
轉置:df物件.t
df物件.transpose()
垂直拼接
ser1 = pd.series([1,2,3,4,5])
ser2 = pd.series([4,5,6,7,8])
ser1.concat(ser2,axis=0)
拼接後為乙個series物件
水平拼接
ser1.concat(ser2,axis=1)
拼接後為乙個dataframe物件
計算series中每個元素的字串長度
ser.map(lambda x:len(x))
使series中每個元素的首字母為大寫
ser.map(lambda x:x.title())
PIL與Pandas簡單操作
from pil import image as img from pil import imagefilter 得到路徑 注意 路徑前加r避免字元轉義 開啟im img.open image path 顯示im.show 檢視資訊 print im.format 返回格式 jpeg print i...
Pandas的簡單使用
之前數學建模的時候處理了3天的資料,也是那次第一次正式使用pands,但是到今天我寫這篇部落格又過了1個月的時間,現在又對pandas有了新的認識,所以說 還是要多寫多練。其實具體來說也不是寫的很深,由於本人比較懶,還是先寫一些放在這,方便以後我使用,其實我之前有習慣就是把自己要記錄下來的東西寫下來...
Pandas的拼接操作
import numpy as np from pandas import dataframe,series import pandas as pd 0回顧numpy的級聯 練習 1.生成2個3 3的矩陣,對其分別進行兩個維度上的級聯 nd np.random.randint 0,10,size 3...