6.12自我總結
一.pandas模塊
import pandas as pd
約定俗稱為pd
1.模塊官方文檔地址
https://pandas.pydata.org/pandas-docs/stable/?v=20190307135750
2.對一維的數據處理成列表
1.pd.Serirs功能
import numpy as np
import pandas as pd
arr = np.array([1, 2, 3, 4, np.nan, ])
s = pd.Series(arr)
print(s)
#也可以不轉換,但是轉換后可以減少內存,盡量進行轉換
# arr = np.array([1, 2, 3, 4, np.nan, ])
s = pd.Series([1, 2, 3, 4, np.nan, ])
print(s)
3.對二維數據處理成列表
1.pd.DataFrame功能
df = pd.DataFrame(數據內容,index=縱坐標,columns=橫坐標)#數據內容必須是列表或者np.array格式,盡量用np.array格式減少內存
#生成的數據列表預定俗稱最好命名成df
#對df的取值
2.pd.DataFrame參數表
屬性 | 詳解 |
---|---|
dtype | 查看數據類型 |
index | 查看行序列或者索引 |
columns | 查看各列的標簽 |
values | 查看數據框內的數據,也即不含表頭索引的數據 |
describe | 查看數據每一列的極值,均值,中位數,只可用於數值型數據 |
transpose | 轉置,也可用T來操作 |
sort_index | 排序,可按行或列index排序輸出 |
sort_values | 按數據值來排序 |
4.df進行取值和簡單處理
1.df.index
取縱坐標
2.df.columns
取橫坐標
3.df.values
取填入的數據並且為array格式
4.df.describe()
計數列表的各個列的個數,最大值,最小值等等
5.df.T
橫縱坐標進行對調
6.df.sort_index(axis=0)
根據axis=0或者1按照橫坐標或者縱坐標進行排序
7.df.sort_values('按照的對象名稱')
按照值進行排序,默認是豎着排序,也可以通過設置axis=0或者1進行修改,默認升序
8.df里的值按行取行
取單行:用切片進行df[0:1]取第一行,但是開始的話橫縱坐標是不算在里面的,這里是橫坐標的索引
取多行:df.loc[起始橫坐標:結束橫坐標] 必須是橫坐標,縱坐標的名稱而不去索引,前后可以相同就取起始橫坐標這一行
9.df里的值按列取取列
取某一列,df[這列的對應的橫坐標]
取多列,df[[第一列的對應的橫坐標,第二列的對應的橫坐標]]以此類推
10.df里面按行取值
按行取值df.iloc[2, 1] 第3行第二個
11.df取某個區域
df.iloc[1:4, 1:4] 橫坐標是,第2個到第5個,縱向是第二個到第五個
12.df取某個位置的一個值
df['橫坐標名稱']['縱坐標名稱']
df.loc['縱坐標名稱','橫坐標名稱']
13.邏輯取值
df[df['c1'] > 0] 結合上面取值進行判斷
14.替換值
結合上面取值進行替換
5.df.dropna
1.df.dropna(axis=1)
axis進行行列選擇,橫着加還是豎着加
2.df.dropna(thresh=4)
刪除行不為4個值的
3.df.dropna(subset=['c2'])
刪除c2中有NaN值的數據
6.df重空值進行添加
df.fillna(value=10)空值填充10
7.df進行合並
1.pd.concat((df1, df2), axis=1)
合並行列都可以由axis控制
2.df1.append(df2)
append只能合並列