合并数据集
![[利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑 [利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpNd09TOWhaamMxTm1SbE5UazFORFl6TnpRMk1tVmlZekppWVRjMk1qTXdORFF5TlM1S1VFVkg=)
数据库风格的DataFrame合并
![[利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑 [利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THprek9DOWpNemN6T1RBell6WXlZekEwWm1Ga01UYzFNMkprWkRkaVpUWTJOelkxTWk1S1VFVkg=)
![[利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑 [利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpZM05pOW1PR0ZoTmpNM04yWTBOREEyWkdZME1XVmlaV05sWWpKa05UUTJaVEpqTkM1S1VFVkg=)
索引上的合并
| merge参数上采用left_index和right_index |
| join方法 | 在连接键上做做左连接,支持参数的索引和某个列之间的连接 |
| left1.join(right1 , on ='key') |
轴向连接
pd.concat()
![[利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑 [利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpNMk5DODFNVGswTjJKaE16UmlZV0ZoT0dVME9ERXpZekV6WW1FME1EbGpZV0k1TkM1S1VFVkg=)
合并重叠数据
| a.combine_first(b) | 如果a不存在就用b补上 |
重塑和轴向旋转
重塑层次化索引
| stack | 将数据的列“旋转”为行(操作最内层)需传入其他层级别进行操作,默认滤除缺失数据 |
| unstack | 将数据的行“旋转”为列(操作最内层)需传入其他层级别进行操作
|
将“长格式”旋转为“宽格式”
| data.pivot('a','b','c') | 前两个参数值分别用作行和列索引的列名,最后一个参数值则是填充DataFrame的数据列的列名 |
| 也可以用set_index创建层次化索引,再用unstack重塑 |
数据转换
转移重复数据
| data.duplicated() | 返回一个布尔型Series,表示各行是否重复行 |
| data.drop_duplicates() | 返回一个移除了重复行的DataFrame |
| 两个都默认保留第一个出现的值组合,传入take_last = true 则保留最后一个 |
利用函数或映射进行数据转换
| map方法 | 接受一个函数或含有映射关系的字典型对象 |
替换值
| fillna方法 | 填充缺失数据也可以看作值替换的一种特殊情况 |
| map方法 | 修改对象的数据子集 |
| replace方法 | data.replace([-999,-1000],[np.nan,0]) 传入一个由替换关系组成的列表 |
| data.replace({-999:np.nan,-1000:0}) 传入字典 |
重命名轴索引
| map方法 | 轴标签也有一个map方法。Data.index.map(str.upper) |
| rename方法 | data.rename(index = str.upper,columns = str.upper) |
| data.rename(index = {'a':'b'}) 传入字典型对象实现对部分轴标签更新 |
| rename进行的是复制,传入inplace =true 可就地修改某个数据 |
离散化和面元划分
| cut函数 | pd.cut(arr,bins划分的数组) |
| arr.labels |
| arr.levels |
| pd.value_counts(arr) |
| 通过right = false可以进行闭端修改 |
| 参数labels = []可以对面元名称进行修改 |
| pd.cut(data,4,precision =2) 分成四组 |
| qcut | 可根据样本分位数对数据进行面元划分 |
排列和随机采样
| sampler =np.random.permutation() | sampler = np.random.randint() randint得到一组随机整数 |
| dff = df.take(sampler) |
计算指标/哑变量
将分类变量转换为“哑变量矩阵”或“指标矩阵”。如果某列中有k个不用的值,则可以拍生出一个k列矩阵。
| pd.get_dummies(列,prefix= ‘前缀’) | 派生出一个k列矩阵 |
字符串操作
字符串对象方法
![[利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑 [利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpJNE9TOHdOMkZrTWpsbFpHTTFZbVJqWXpRelpqbGpaVGN5WldNeU9UWTVNbVkzT1M1S1VFVkg=)
![[利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑 [利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpnMk5TODJaamN6WkdNMFl6bGpNR0UwTldKaVpUaGhNMlUxTVRabFlUYzFPR1ZrT1M1S1VFVkg=)
正则表达式
![[利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑 [利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpnMk1TOWhabUZqWlRreFptVXlOVGxoWm1FeVpESXpZakV4TlROa1pqQTJOVFkwTlM1S1VFVkg=)
pandas中矢量化的字符串函数
两个实现矢量化的元素获取操作的办法:1.使用str.get 2.在str属性上进行索引
![[利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑 [利用python进行数据分析 书笔记]第7章 数据规整化:清理、转换、合并、重塑](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpjeE5pODFZekF3WmpReFptVXdNelE1T0RJd1pERmtPR0ZrWlRnMk9UbGxNbVEwWXk1S1VFVkg=)
相关文章: