SiriBlog

siriyang的个人博客


  • 首页

  • 排行榜

  • 标签115

  • 分类37

  • 归档319

  • 关于

  • 搜索

X-Data数据工程基础实践过程中遇到的问题

发表于 2020-02-04 更新于 2021-10-29 分类于 考研 , 复试 阅读次数: Valine:
本文字数: 1.8k 阅读时长 ≈ 2 分钟

2020.02.04

Note1

数据库内外连接原理

  • 内连接:指连接结果仅包含符合连接条件的行,参与连接的两个表都应该符合连接条件。
  • 外连接:连接结果不仅包含符合连接条件的行同时也包含自身不符合条件的行。包括左外连接、右外连接和全外连接。
  • 左外连接:左边表数据行全部保留,右边表保留符合连接条件的行。
  • 右外连接:右边表数据行全部保留,左边表保留符合连接条件的行。
  • 全外连接:左外连接 union 右外连接。

pandas merage
  pandas提供了一个类似于关系数据库的连接(join)操作的方法merage,可以根据一个或多个键将不同DataFrame中的行连接起来,语法如下:

1
2
3
merge(left, right, how='inner', on=None, left_on=None, right_on=None,
left_index=False, right_index=False, sort=True,
suffixes=('_x', '_y'), copy=True, indicator=False)

  作为一个功能完善、强大的语言,python的pandas库中的merge()支持各种内外连接。

  • left与right:两个不同的DataFrame
  • how:指的是合并(连接)的方式有inner(内连接),left(左外连接),right(右外连接),outer(全外连接);默认为inner
  • on : 指的是用于连接的列索引名称。必须存在右右两个DataFrame对象中,如果没有指定且其他参数也未指定则以两个DataFrame的列名交集做为连接键
  • left_on:左则DataFrame中用作连接键的列名;这个参数中左右列名不相同,但代表的含义相同时非常有用。
  • right_on:右则DataFrame中用作 连接键的列名
  • left_index:使用左则DataFrame中的行索引做为连接键
  • right_index:使用右则DataFrame中的行索引做为连接键
  • sort:默认为True,将合并的数据进行排序。在大多数情况下设置为False可以提高性能
  • suffixes:字符串值组成的元组,用于指定当左右DataFrame存在相同列名时在列名后面附加的后缀名称,默认为(‘_x’,’_y’)
  • copy:默认为True,总是将数据复制到数据结构中;大多数情况下设置为False可以提高性能
  • indicator:在 0.17.0中还增加了一个显示合并数据中来源情况;如只来自己于左边(left_only)、两者(both)

Note2

pandas表中每一行的多列进行计算
方法1:
  要对DataFrame的多个列同时进行运算,可以使用apply,例如col3 = col1 + 2 * col2:

1
df['col3'] = df.apply(lambda x: x['col1'] + 2 * x['col2'], axis=1)

  其中x带表当前行,可以通过下标进行索引。

方法2:

1
df['col3'] = list(map(lambda x,y:x+2*y,x['col1'],x['col2']))

2020.2.7

Note3

pandas对表中某一个坐标位置的进行取值和赋值操作
方法1:loc
  使用loc可以像numpy那样切片,还可以按照索引取列:

1
2
3
4
5
df.loc[1,1]

df.loc[1:10,'User_id']

df.loc[1,('User_id','Coupon_id')]=[1,2]

方法2:iloc

  使用iloc取出的是具体一个坐标的值:

1
df.iloc[1,2]

  虽然用这两个方法取值还是很快,但是要进行赋值操作就很慢了,最好还是先用npmat=df.values转换成numpy进行计算了再整列赋值上去,这样就快得多了。

2020.2.8

Note4

numpy 创建制定值的矩阵

0矩阵

1
np.zero([row,col])

其他值矩阵

1
np.full((col,row),127,dtype=np.uint8)
-------- 本文结束 感谢阅读 --------
相关文章
  • X-Data数据工程基础实践(十)
  • X-Data数据工程基础实践(九)
  • X-Data数据工程基础实践(八)
  • X-Data数据工程基础实践(七)
  • X-Data数据工程基础实践(六)
觉得文章写的不错的话,请我喝瓶怡宝吧!😀
SiriYang 微信支付

微信支付

SiriYang 支付宝

支付宝

  • 本文标题: X-Data数据工程基础实践过程中遇到的问题
  • 本文作者: SiriYang
  • 创建时间: 2020年02月04日 - 16时02分
  • 修改时间: 2021年10月29日 - 18时10分
  • 本文链接: https://blog.siriyang.cn/posts/20200204165028id.html
  • 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!
学习笔记 考研 复试 Python 机器学习 数据挖掘
X-Data数据工程基础实践(七)
AppWishList for iOS
  • 文章目录
  • 站点概览
SiriYang

SiriYang

努力搬砖攒钱买镜头的摄影迷
319 日志
33 分类
88 标签
RSS
GitHub E-Mail
Creative Commons
Links
  • 友情链接
  • 作品商铺

  1. 2020.02.04
    1. Note1
    2. Note2
  2. 2020.2.7
    1. Note3
  3. 2020.2.8
    1. Note4
蜀ICP备19008337号 © 2019 – 2025 SiriYang | 1.7m | 25:41
0%