首页 > 其他 > 详细

Pandas数据分析 (三)

时间:2020-01-17 14:17:04      阅读:68      评论:0      收藏:0      [点我收藏+]

Pandas 数据转换、分组、融合

Pandas 数据融合

  • concat() 方法
  • merge() 方法

concat

 1 frames = [df, ds]
 2 # axis=1 横向  axis=0 纵向
 3 pd.concat(frames, axis=0)
 4 
 5 # 取并集
 6 pd.concat(frames, axis=0, join="outer")
 7 # 取交集
 8 pd.concat(frames, axis=0, join="inner")
 9 
10 d1 = pd.DataFrame([22, 33], index=["身高", "体重"], columns=["张三"])
11 d2 = pd.DataFrame([33, 44], index=["身高", "体重"], columns=["李四"])
12 frames = [d1, d2]
13 
14 pd.concat(frames, axis=1, join="inner")
15 
16 df1 = pd.DataFrame({年龄: [22, 26],
17                                       籍贯: [北京,河北]},
18                                       index=[张某, 李某])
19 df2 = pd.DataFrame({身高: [175, 180],
20                                       体重: [70, 85]},
21                                       index=[张某, 李某])
22 df3 = pd.DataFrame({身高: [175, 183],
23                                       体重: [70, 87]},
24                                       index=[张某, 钱某])
25 
26 pd.concat([df1, df3], axis=1, join="inner")

 

merge

 1 left = pd.DataFrame({姓名: [张某, 李某,段某],
 2                                        年龄: [20, 26,24]}) 
 3 right = pd.DataFrame({姓名: [张某, 李某,钱某],
 4                                          籍贯: [北京,河北,江苏]}) 
 5 
 6 pd.merge(left, right, left_index=True, right_on="姓名", how="outer")
 7 
 8 # 按照索引方式
 9 pd.merge(left, right, left_index=True, right_index=True, how="outer")
10 # 相对之,按照 join  实例的方法实现融合更简单, join 默认为左连接
11 left.join(right, how="outer")

 

数据融合 combine_first实例方法实现了用参数对象中的数据为调用对象的缺失数据打补丁

1 df2.combine_first(df1)  # 根据 df1中的值去填补df2中的缺失值

排序

  • sort_index 根据索引进行排序
  • sort_values 根据某列的值进行排序
  • 随机重排
    1 df.sort_values(score, ascending=False)  # 调整 ascending 来判断是升序还是降序,默认是True,升序
    2 # 产生一个随机重排序列的索引
    3 sampler = np.random.permutation(3)
    4 sampler
    5 df.take(sampler)

     

GroupBy 技术

  • 使用 groupby() 方法可以沿着任意轴进行分组,并且将分组依据的键作为每组的组名,有三种方法
    • df.groupby(key)
    • df.groupby(key, axis=1)
    • df.groupby([key1, key2])

 

数据分组的基本方法

  • 分组大小和分组排序
  • 对分组进行迭代
  • 选择指定组或组内的列

Pandas数据分析 (三)

原文:https://www.cnblogs.com/xmdykf/p/12205349.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!