国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python 數據清洗之數據合并、轉換、過濾、排序

2020-02-23 04:20:55
字體:
來源:轉載
供稿:網友

前面我們用pandas做了一些基本的操作,接下來進一步了解數據的操作,
數據清洗一直是數據分析中極為重要的一個環節。

數據合并

在pandas中可以通過merge對數據進行合并操作。

import numpy as npimport pandas as pddata1 = pd.DataFrame({'level':['a','b','c','d'],         'numeber':[1,3,5,7]})data2=pd.DataFrame({'level':['a','b','c','e'],         'numeber':[2,3,6,10]})print(data1)

結果為:

print(data2) 

結果為:

print(pd.merge(data1,data2)) 

結果為:


可以看到data1和data2中用于相同標簽的字段顯示,而其他字段則被舍棄,這相當于SQL中做inner join連接操作。
此外還有outer,ringt,left等連接方式,用關鍵詞how的進行表示。

data3 = pd.DataFrame({'level1':['a','b','c','d'],         'numeber1':[1,3,5,7]})data4=pd.DataFrame({'level2':['a','b','c','e'],         'numeber2':[2,3,6,10]})print(pd.merge(data3,data4,left_on='level1',right_on='level2'))

結果為:


兩個數據框中如果列名不同的情況下,我們可以通過指定letf_on 和right_on兩個參數把數據連接在一起

print(pd.merge(data3,data4,left_on='level1',right_on='level2',how='left')) 

結果為:

其他詳細參數說明

重疊數據合并

有時候我們會遇到重疊數據需要進行合并處理,此時可以用comebine_first函數。

data3 = pd.DataFrame({'level':['a','b','c','d'],         'numeber1':[1,3,5,np.nan]}) data4=pd.DataFrame({'level':['a','b','c','e'],         'numeber2':[2,np.nan,6,10]}) print(data3.combine_first(data4))

結果為:


可以看到相同標簽下的內容優先顯示data3的內容,如果一個數據框中的某一個數據是缺失的,此時另外一個數據框中的元素就會補上

這里的用法類似于np.where(isnull(a),b,a)

數據重塑和軸向旋轉

這個內容我們在上一篇pandas文章有提到過。數據重塑主要使用reshape函數,旋轉主要使用unstack和stack兩個函數。

data=pd.DataFrame(np.arange(12).reshape(3,4),       columns=['a','b','c','d'],       index=['wang','li','zhang'])print(data)

結果為:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 祥云县| 咸阳市| 县级市| 宜川县| 尚志市| 大关县| 和平县| 和田市| 衢州市| 万宁市| 阿荣旗| 扬州市| 微山县| 常宁市| 泰州市| 屏东市| 黄陵县| 双牌县| 绥中县| 和田市| 岱山县| 天峨县| 霞浦县| 商洛市| 佛学| 连云港市| 西丰县| 滨州市| 黑河市| 乐昌市| 佛教| 无棣县| 万安县| 哈密市| 余干县| 信丰县| 托克逊县| 平昌县| 桦甸市| 仁化县| 洪雅县|