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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

数据清洗之 数据整理

發布時間:2023/12/16 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据清洗之 数据整理 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

數據整理

  • 定義
    • 在數據清洗過程中,很多時候需要將不同的數據整理在一起,方便后續的分析,這個過程也叫數據合并
  • 合并方法
    • 常見的合并方法有堆疊和按主鍵進行合并,堆疊又分為橫向堆疊和縱向堆疊,按主鍵合并類似于sql里面的關聯操作
  • 橫向堆疊將兩張表或多張表在X軸方向,即橫向拼接在一起
  • 縱向堆疊將兩張表或多張表在Y軸方向,即縱向拼接在一起
  • 注意join 取inner或者outer,分別代表交集和并集
# 用于讀取excel文件 import xlrd import os import pandas as pd import numpy as np os.getcwd() 'D:\\Jupyter\\notebook\\Python數據清洗實戰\\數據清洗之數據表處理' os.chdir('D:\\Jupyter\\notebook\\Python數據清洗實戰\\數據') workbook = xlrd.open_workbook('meal_order_detail.xlsx') # 獲取工作表的名稱 sheet_name = workbook.sheet_names() sheet_name ['meal_order_detail1', 'meal_order_detail2', 'meal_order_detail3'] order1 = pd.read_excel('meal_order_detail.xlsx', sheet_name='meal_order_detail1') order2 = pd.read_excel('meal_order_detail.xlsx', sheet_name='meal_order_detail2') order3 = pd.read_excel('meal_order_detail.xlsx', sheet_name='meal_order_detail3') # ignore_index=True, 表示重置索引 order = pd.concat([order1, order2, order3], axis=0, ignore_index=True) # 獲取末5行 order.tail(5) detail_idorder_iddishes_idlogicprn_nameparent_class_namedishes_nameitemis_addcountsamountscostplace_order_timediscount_amtdiscount_reasonkick_backadd_inpriceadd_infobar_codepicture_fileemp_id1003210033100341003510036
5683672610049NaNNaN爆炒雙絲0135NaN2016-08-31 21:53:30NaNNaNNaN0NaNNaNcaipu/301003.jpg1089
5686672609959NaNNaN小炒羊腰\r\n\r\n\r\n0136NaN2016-08-31 21:54:40NaNNaNNaN0NaNNaNcaipu/202005.jpg1089
5379647610012NaNNaN香菇鵪鶉蛋0139NaN2016-08-31 21:54:44NaNNaNNaN0NaNNaNcaipu/302001.jpg1094
5380647610054NaNNaN不加一滴油的酸奶蛋糕017NaN2016-08-31 21:55:24NaNNaNNaN0NaNNaNcaipu/501003.jpg1094
5688672609953NaNNaN涼拌菠菜0127NaN2016-08-31 21:56:54NaNNaNNaN0NaNNaNcaipu/303004.jpg1089
basic = pd.DataFrame() # 可以使用for循環進行合并 for i in sheet_name:basic_i = pd.read_excel('meal_order_detail.xlsx', sheet_name=i)basic = pd.concat([basic, basic_i], axis=0, ignore_index=True) basic.shape (10037, 19) basic.tail(5) detail_idorder_iddishes_idlogicprn_nameparent_class_namedishes_nameitemis_addcountsamountscostplace_order_timediscount_amtdiscount_reasonkick_backadd_inpriceadd_infobar_codepicture_fileemp_id1003210033100341003510036
5683672610049NaNNaN爆炒雙絲0135NaN2016-08-31 21:53:30NaNNaNNaN0NaNNaNcaipu/301003.jpg1089
5686672609959NaNNaN小炒羊腰\r\n\r\n\r\n0136NaN2016-08-31 21:54:40NaNNaNNaN0NaNNaNcaipu/202005.jpg1089
5379647610012NaNNaN香菇鵪鶉蛋0139NaN2016-08-31 21:54:44NaNNaNNaN0NaNNaNcaipu/302001.jpg1094
5380647610054NaNNaN不加一滴油的酸奶蛋糕017NaN2016-08-31 21:55:24NaNNaNNaN0NaNNaNcaipu/501003.jpg1094
5688672609953NaNNaN涼拌菠菜0127NaN2016-08-31 21:56:54NaNNaNNaN0NaNNaNcaipu/303004.jpg1089
df = pd.read_csv('baby_trade_history.csv', dtype={'user_id': str}) df1 = pd.read_csv('sam_tianchi_mum_baby.csv', dtype={'user_id': str}) # 基本信息數據 df1.head(5) user_idbirthdaygender01234
2757201303111
415971201211110
1372572201201301
10339332201109100
10642245201302130
# 交易數據 df.head(5) user_idauction_idcat_idcat1propertybuy_mountday01234
78629554441098319944500148665002252021458:86755362;13023209:3593274;10984217:21985...220140919
53211045717916191097500119932821458:11399317;1628862:3251296;21475:137325;16...120131011
24901372521896936223500124615001481521458:30992;1628665:92012;1628665:3233938;1628...120131011
91705600712515996043500188315001481521458:15841995;21956:3494076;27000458:59723383...220141023
44406917320487688075500136365000816821458:30992;13658074:3323064;1628665:3233941;1...120141103
# 將df1添加到df右邊,關聯字段為 "user_id" df2 = pd.merge(left=df, right=df1, how='inner', left_on='user_id', right_on='user_id') df2.head(5) user_idauction_idcat_idcat1propertybuy_mountdaybirthdaygender01234
51344133419909384116500105575000816825935:21991;1628665:29784;22019:34731;22019:20...120121212201101051
3775504241577166391450015841281628665:3233941;1628665:3233942;3914866:11580;...120121123201106201
4734202714066344263500136365000816821458:21599;13585028:3416646;1628665:3233942;1...120120911201010081
11978486120796936076501400215000816821458:120325094;22019:2026;22019:34731;22019:3...120121129201203270
15912942615198386301500137115000816821458:11580;1628665:29778;22019:3340598;22019:...220120808201008250

總結

以上是生活随笔為你收集整理的数据清洗之 数据整理的全部內容,希望文章能夠幫你解決所遇到的問題。

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