Python数据分析(5)----探索姓名数据

本例通过构造虚拟姓名数据,对pandas中的基本操作进行练习。

代码如下:

#!/usr/bin/env python 
# -*- coding:utf-8 -*-
import pandas as pd
# 探索虚拟姓名数据

# 1. 创建DataFrame。
raw_data_1 = {'subject_id': ['1', '2', '3', '4', '5'], 'first_name': ['Alex', 'Amy', 'Allen', 'Alice', 'Ayoung'], 'last_name': ['Anderson', 'Ackerman', 'Ali', 'Aoni', 'Atiches']}
raw_data_2 = {'subject_id': ['4', '5', '6', '7', '8'], 'first_name': ['Billy', 'Brian', 'Bran', 'Bryce', 'Betty'], 'last_name': ['Bonder', 'Black', 'Balwner', 'Brice', 'Btisan']}
raw_data_3 = {'subject_id': ['1', '2', '3', '4', '5', '7', '8', '9', '10', '11'], 'test_id': [51, 15, 15, 61, 16, 14, 15, 1, 61, 16]}

# 2. 将上述的DataFrame分别命名为data1, data2, data3。
data1 = pd.DataFrame(raw_data_1)
data2 = pd.DataFrame(raw_data_2)
data3 = pd.DataFrame(raw_data_3)

# 3. 将data1和data2两个数据框按照行的维度进行合并,命名为all_data。
all_data = pd.concat([data1, data2], axis=0)   #表格的拼接

# 4. 将data1和data2两个数据框按照列的维度进行合并,命名为all_data_col。
all_data_col = pd.concat([data1, data2], axis=1)

# 5. 打印data3。
print(data3)

# 6. 按照subject_id的值对all_data和data3作合并。   #对两个表进行拼接 根据subject_id属性
pd.merge(all_data, data3, on='subject_id', how='inner')   #inner是取交集


# 7. 对data1和data2按照subject_id作连接。
pd.merge(data1, data2, on='subject_id', how='inner')

# 8. 找到all_data和data3合并之后的所有匹配结果。
pd.merge(all_data, data3, on='subject_id', how='outer')
pd.merge(all_data, data3, on='subject_id', how='left')  #左连接
pd.merge(all_data, data3, on='subject_id', how='right')  #右连接
发布了13 篇原创文章 · 获赞 2 · 访问量 2642

猜你喜欢

转载自blog.csdn.net/weixin_43981621/article/details/104165988