乾貨 pandas常用技巧筆記

2021-09-29 05:18:04 字數 2173 閱讀 5804

下面以**+注釋的形式進行記錄

# 為模組新增別名

import pandas as pd

# 建立dataframe

df = pd.read_csv('rfm_trad_flow.csv',encoding = 'gbk')

df = pd.dataframe(columns = ['transid', 'cumid', 'time', 'amount', 'type_label', 'type'])

df.head(5)

# loc是實際序列,比如第一行,第一列

# iloc是按照定義好的行列名

# ix是loc+iloc

# 對dataframe進行資料操作

# 新增一列

df['col1_new'] = df['type']

# 新增一行

df.loc['row_new'] = df.loc[2,:]

# 給某一列/行資料+1

df['transid'] = df['transid'].map(lambda x: x+1)

# 判斷資料並新增資料到新dataframe裡

for i in range(df.iloc[:,0].size):

if df.loc[i,'type'] == 'returned_goods':

# 注意這裡必須是loc,否則會報錯,原因的話可分別列資料查證

df1.loc[i] = df.loc[i]

# 重置序列,改為0,1,2...

df = df.reset_index(drop=true, inplace=true)

# 某列值的頻次,頻率

# 檢查頻數

df['type'].value_counts()

# 檢查頻率

df['type'].value_counts(normalize = true)

1.pandas 讀寫excel,csv,json等見另一篇博文:傳送門2.shift + tab 可檢視函式具體使用方法

3.在jupyter notebook裡可以不同窗格寫指令碼,方便除錯和檢視

4.pandas的多表聯合拼接merge

import pandas as pd

# 讀取第乙個檔案轉成dataframe

df1 = pd.read_excel('test1.xlsx')

# 讀取第二個檔案轉成dataframe

df2 = pd.read_excel('test2.xlsx')

'''df2:是你要merge的物件

how:是連線方式,分為[inner,outer,left,right]與sql類似

on:是兩者需要連線的列,如果是多列,加列表來寫入

left_on,right_on:是指定左/右邊的dataframe以哪個列名或者索引名進行連線,如果前面on寫過,這裡就寫none,否則報錯

left_index,right_index:用左/右邊的dataframe某一列當做連線鍵key

sort:排序列

suffixes:如果兩者有重複列名,重複項怎麼命名,比如第乙個有列名是id,第二個也有列名是id,那麼第二個重複的列名將命名為id_x

copy:預設複製

'''df_res = df1.merge(df2, how='left', on=['使用者id','使用者名稱'], left_on=none,

right_on=none, left_index=false, right_index=false,

sort=false, suffixes=('_x', '_y'), copy=true)

# 排序

df_res.sort_values(by=['在看電影數','想看電影數'])

#df_res.to_excel('res.xlsx',index=none)

pandas常用筆記

1.ix iloc loc 這三個都是用於索引資料的。import numpy as np import pandas as pd data np.arange 12 reshape 3,4 df pd.dataframe data df.loc 0 okdf.iloc 0 okdf.index a...

Pandas常用方法和使用技巧

在python 3 環境下,根據實際使用pandas的一些經驗,簡單總結了一下pandas的使用要點。pandas 有三種結構,都可以指定索引,預設情況下,索引值從0。三種結構分別為 1.series初始化 data 1,2,3,4 a series data b series data,index...

pandas常用函式筆記

篩選元素,判斷是否存在等 df.isin 判斷df中是否有括號中的元素 dataframe data,index,columns,dtype,copy 構造資料框 data data.isin 可以將符合isin 的元素提取出來構造成乙個新的data dataframe 建立乙個datafram物件...