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

歡迎訪問 生活随笔!

生活随笔

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

python

Python数据分析—Pandas数据规整

發(fā)布時間:2023/12/8 python 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python数据分析—Pandas数据规整 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

數(shù)據(jù)規(guī)整

  • 一、索引
  • 二、分層索引
  • 三、數(shù)據(jù)合并
    • 1、merge方法
    • 2、join方法
    • 3、concat方法
  • 四、數(shù)據(jù)分組與聚合

一、索引

# 查看索引 df.index # 指定索引,但個數(shù)必須保持一致 df.index=[] # 重置索引,個數(shù)無需一致,重置索引不同則用NAN填充,相當于映射的關(guān)系 df.reindex([]) # 指定某一列作為行索引 df.set_index("列名") # 指定多列為行索引 df.set_index(["",""]) # 取索引的唯一值 df.index.unique()

二、分層索引

# 創(chuàng)建一個數(shù)組 df = pd.DataFrame({'a':range(7),'b':range(7,0,-1),'c':['one','one','one','two','two','two','two'],'d':list("hjklmno") }) # 設置c、d兩列為行索引 df1 = df.set_index(["c","d"])

# 寫入表格 df1.to_excel("test.xlsx") # 讀取表格不設置索引列時,合并單元不會出現(xiàn),而是被NAN填充 pd.read_excel("test.xlsx",index_col=[0,1])

分層索引取值時,切片只能用于索引有序的情況,可用神奇索引

# 取one df1.loc["one",:] # 取one two df1.loc["one":"two"] df1.loc[["one","two"]] # 取one塊的k行 df1.loc["one","k"] df1.loc["one",:].loc["k"] # 取one塊k行的2這個值 df1.loc["one"].loc["k","a"]

交換索引層級

df.swaplevel()

索引排序
外層索引層級:0 內(nèi)存索引層級:1

# 根據(jù)內(nèi)層排序 df.sort_index(level=1)

重置索引,將為默認索引

df.reset_index()

三、數(shù)據(jù)合并

1、merge方法

pd.merge(left, right, how='inner', on=None,left_on=None, right_on=None,left_index=False, right_index=False)

left:拼接左側(cè)的DataFrame對象
right:拼接右側(cè)的DataFrame對象
on:待關(guān)聯(lián)的同名列名,存在于左右兩個DataFrame對象中
how:連接方式,inner(默認),其他可選:outer、left、right
left_on:左表中用作連接鍵的列名
right_on:右表中用作連接鍵的列名
left_index:將左側(cè)的行索引用作其連接鍵
right_index:將右側(cè)的行索引用作其連接鍵

注:當how='right’時,以右表為主,左表中缺失的數(shù)據(jù)以NAN填充;how='left’同理;當how='inner’時,左右表數(shù)據(jù)取交集;how='outer’時,左右表數(shù)據(jù)取并集。
當數(shù)據(jù)集存在重復鍵,會出現(xiàn)笛卡爾積連接,為避免這種情況可指定多列作拼接條件,即設置 on=[" “,” " ]

2、join方法

df1.join(df2,how="left")

3、concat方法

pd.concat(objs, axis=0, join='outer', keys=None)

objs:要拼接的數(shù)據(jù)集,通常以列表的形式傳入
axis:默認為0軸拼接
keys:定義新的分組索引

四、數(shù)據(jù)分組與聚合

# 例 求某列分組后的均值 df.groupby(by="").mean() # 也可求多列 df.groupby(by=["",""]).mean()

自定義聚合函數(shù)(分組后通過agg或aggregate聚合)

# 例 求極差 def jicha(x):return x.max()-x.min() df.groupby(by="").agg(jicha)

分組塊上應用函數(shù)(通過apply方法將函數(shù)應用到分組后的數(shù)組)

def sort_df(df):return df.sort_values(by="grades")df1.groupby(by="").apply(sort_df)

總結(jié)

以上是生活随笔為你收集整理的Python数据分析—Pandas数据规整的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。