日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

【Python】Python常用的Series 和 Dataframe处理方法

發布時間:2025/3/21 python 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Python】Python常用的Series 和 Dataframe处理方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Series 和 Dataframe格式的數據處理工作,有很多常用的也比較巧妙的小方法,現總結下,方便理解應用。
本文會已方法基礎格式+代碼樣例的形式加以講解說明。

一 基礎方法介紹

Series 和 Dataframe
import numpy as np import pandas as pd #from pandas import Sereis, DataFrame df = pd.DataFrame(np.arange(16).reshape(4,4),index=list('abcd'),columns=list('wxyz')) ser = pd.Series(np.arange(3.)) df = pd.DataFrame(data, columns = ['A', 'B', 'C', 'D'])
行列

多種形式,靈活應用

''' 行 ''' df.loc df.irow(0) = 1 df.head() #返回df的前幾行數據,默認為前五行,需要前十行則df.head(10) df.tail() #返回df的后幾行數據,默認為后五行,需要后十行則df.tail(10) df.iloc[-1] #選取DataFrame最后一行,返回的是Series df.iloc[-1:] #選取DataFrame最后一行,返回的是DataFrame df.loc[df['A'] == 'cutoff',]''' 列 ''' df.columns #利用字段名進行切片索引 df['A'] = 1 #選擇表格中的'A'列,使用類字典屬性,返回的是Series類型 df.A = 1 #選擇表格中的'A'列,使用點屬性,返回的是Series類型 df[['A','B']] #選擇表格中的'A','B'列,返回的是DataFrame屬性 df['A':'B'] #利用index值進行切片,返回的是*A*前閉后閉*B*的DataFrame #即末端是包含的 #利用字段所在的位置進行切片索引 df.icol(0) df[0:2] #返回第1列到第2列的所有行,前閉后開,包括前不包括后 df[1:2] #返回第2列,從0計,返回的是單行,通過有前后值的索引形式,#如果采用df[1]則報錯 df.ix[1:2] #返回第2列的第三種方法,返回的是DataFrame,跟data[1:2]同''' 行列綜合使用 ''' df.loc['a',['B','C']] #返回'a'行'B'、'C'列,這種用于選取行索引列索引已知 df.iat[1,1] #選取第二行第二列,用于已知行、列位置的選取。 df.ix[1:3,[0,2]] #選擇第2-4行第1、3列的值 df.ix[df.a>5,3] df.ix[1:3,['a','e']] data.iloc[:,0] # python3調整的方法
索引
df.index df.set_index('A')# 設置A列為索引列 df.reset_index(drop=True)#drop是否保留原索引
df.values df['A'].values
命名
df.columns = [['A','B','C','D']] df.rename(columns = {'A':'B'})
新增字段
df['B'] = np.where(df['A'].str.contains('str'),1,0)
合并
df1 = df1.append(df2)
分組
grp1 = df.groupby(['code'])['code'].agg([pd.Series.count]).reset_index().rename(columns={'count':'nameA','code':'nameB'})
匹配
df = pd.merge(df1,df2,left_on = 'id',right_on = 'ID',how = 'left')
排序
df.sort_values(by = 'A',asending = Flase) #True 和Flase做正序逆序選擇
行列轉置
df = df.T
去重
df.drop_duplicates('id', inplace = False)
刪除行列
df = df.drop(df[dfn[target] == 0].index) del df['A'] df.dropna(axis=0, how='any', inplace=True)
缺失值填充
df.fillna(0)
唯一值
df['A'].unique()
python去除字符串中空格和特殊符號的方法
" xyz ".strip() # returns "xyz" " xyz ".lstrip() # returns "xyz " " xyz ".rstrip() # returns " xyz" " x y z ".replace(' ', '') # returns "xyz"
Dataframe字段元素級數據處理
df['B'] = df['A'].map(lambda x : 'short' if int(x) <5 else 'midle' if int(x)<30 else 'long') df['C'] = df[['A','B']].apply(lambda x: float('{x:.2f}'.format(x = (x['A'] / x['B'])*100) if x['B'] > 0 else '0.00'),axis = 1)

二 綜合應用實例講解

下面代碼較為綜合的運用了Dataframe和Series中較為常見的一些數據處理方法:

總結

以上是生活随笔為你收集整理的【Python】Python常用的Series 和 Dataframe处理方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。