1、pandas-dataframe 基礎
import numpy as np
import pandas as pd
# 建立 dataframe
dic =
df = pd.dataframe(dic) # 字典轉化為dataframe
# 外部檔案讀入dataframe
dic2 = pd.read_csv('f:/u_value.txt', encoding='utf-8')
# 預設第一行為列名,即header=0 (header=1,配合names=,指定列名),若第一行即為資料則header=none
# sep delimiter 指定分隔符
# dtype= dtype 指定字段格式
dic2.columns=['a','b','c'] # 修改列名
print(df) # 展示全部行
print(df.head()) # 顯示前n行,預設5
ps: 資料左側0 1 2 3 4 為索引號。
2、 訪問 dataframe 【loc iloc ix】
df_t = df.t # 轉製
df.uid df['uid'] # 某一列
df[['uid', 'v01']] # 某(幾)列
df.loc[[0,1]] # 索引號為 0 1 的行
df.loc[[0,1],['uid','v01']] # 索引號為 0 1 的某些欄位的值
# 篩選訪問
df[['uid','v01']][(df.uid.isin(['001', '003']))] #條件為uid.isin(['001', '003'])
df.loc[:, ['uid','v01']][(df.uid.isin(['001', '003']))]
# loc 方式
df.loc[df.uid.isin(['001', '003']), ['uid', 'v01']]
## ps:loc 通過索引號索引名、列名進行訪問
## iloc 通過行列索引號訪問
3、dataframe的合併與聚合
# -----合併-----
df_new = pd.merge(df, dic2, how='left', left_on='uid', right_on='a').drop(['a', 'b', 'v02'], axis=1)
df_new = df_new[['uid', 'v01', 'c']] # 列重新排序
df_new.columns = ['uid', 'v01', 'v02']
# how 合併方式,左/右連線
# left_on right_on 連線的字段
# 出現相同名稱的字段,分別以加 _x _y 全部出現,可以通過drop刪除不必要字段
# 其他欄位可通過columns重新命名。
# 將df_new和df_test連個表合成乙個表,(有新字段結果就生成新字段)
# ------聚合-----
df_buff.groupby('uid').sum() # 其他值都合計
# 對不同列進行不同的聚合
df_groupby = df_buff.groupby('uid').agg()
df_groupby.columns = ['u_cnt', 'u_dis_cnt', 'max_v01', 'sum_v02'] # 重新命名聚合列
4、dataframe的排序
# 排序生成新資料集
df_sort = df_groupby.sort_values(by='max_v01', ascending=false)
# 多列排序 df_groupby.sort_values(['max_v01', 'sum_v02'], ascending=[true, false])
# 在原資料集增加排名列(num)
# 分組排序,(sql視窗函式)
df_2_sort['num'] = df_2_sort['v01'].groupby(df_2_sort['uid']).rank(ascending=false, method='first')
python pandas常用資料處理方法
pandas 1 header 0 不同於 header none header 0 表示 第0行為列 header none 表示讀取的時候 認為沒有標題,全是資料 可以用 skiprows 1 跳過列名 2 pandas 獲取指定的行列資料 df.iloc 0 2,0,3 讀取 第 0,2 行的...
Python Pandas常用命令彙總
dataframe 別名 df series 別名 s import pandas as pd import numpy as nppd.read csv filename 匯入csv格式檔案中的資料 pd.read table filename 匯入有分隔符的文字 如tsv 中的資料 pd.rea...
python pandas 第三方庫的使用
1,安裝pandas 庫 pip install pandas 2,函式的使用 1,讀取 csv 檔案只要用 pd.read csv 就能將 csv 檔案裡的資料轉換成 dataframe 物件 dataframe pd.read csv example.csv 寫入 csv 檔案將 datafra...