01-合并数据
import pandas as pd
"""
import numpy as np
numpy 合并数组
np.hstack() # 水平合并
np.vstack() # 垂直合并
np.concatenate() # 行的方向 axis = 0
np.concatenate() # 列的方向 axis = 1
"""
# # 获取df数据
# df1 = pd.read_excel('./直接拼接数据.xlsx', sheetname=0)
# df2 = pd.read_excel('./直接拼接数据.xlsx', sheetname=1)
# print('df1:\n', df1)
# print('df2:\n', df2)
# print('*' * 100)
# 直接拼接 ---pd.concat 四种
# axis=0,join='outer' 行的方向上外连接
# 行上直接拼接,列的方向上求并集,如果没有值的地方用NaN补齐
# res = pd.concat((df1, df2), axis=0, join='outer')
# print('res:\n', res)
# axis=0,join = 'inner' ,行的方向上内连接
# 行上直接拼接,列的方向上求交集
# res = pd.concat((df1, df2), axis=0, join='inner')
# print('res:\n', res)
# axis=1,join='outer' 列的方向上外连接
# 列上直接拼接,行的方向上求并集,如果没有值的地方用NaN来补齐
# res = pd.concat((df1, df2), axis=1, join='outer')
# print('res:\n', res)
# axis=1, join='inner' ,列的方向上内连接
# 列上直接拼接,行的方向上求交集
# res = pd.concat((df1, df2), axis=1, join='inner')
# print('res:\n', res)
# 主键拼接方式 八种
# 获取df数据
# left = pd.read_excel('./主键拼接数据.xlsx', sheetname=0)
# right = pd.read_excel('./主键拼接数据.xlsx', sheetname=1)
# print('left:\n', left)
# print('right:\n', right)
# print('*' * 100)
# how='outer', on='key' 按照key列进行拼接,找的key 的并集
# res = pd.merge(left=left, right=right, how='outer', on='key')
# print('res:\n', res)
# how='inner', on='key'按照key列进行拼接,找的key 的交集
# res = pd.merge(left=left, right=right, how='inner', on='key')
# print('res:\n', res)
# how='left', on='key' 按照左表中的key进行拼接,右表配合左表,如果右表没有的数据,用NaN来补齐
# res = pd.merge(left=left, right=right, how='left', on='key')
# print('res:\n', res)
# how='right', on='key' 按照右表中的key进行拼接,左表配合右表,如果左表没有数据,用NaN来补齐
# res = pd.merge(left=left, right=right, how='right', on='key')
# print('res:\n', res)
# 当左右两个df中的列里面的值大部分相同,其列名不相同的场景
left = pd.read_excel('./主键拼接数据.xlsx', sheetname=2)
right = pd.read_excel('./主键拼接数据.xlsx', sheetname=3)
print('left:\n', left)
print('right:\n', right)
print('*' * 100)
# 主键拼接
# how='outer', left_on='kk', right_on='gg'
# 用左表中kk 与右表中的gg列的值进行拼接,并求取的是并集,如果没有的数据用NaN类补齐
# res = pd.merge(left=left, right=right, how='outer', left_on='kk', right_on='gg')
# print('res:\n', res)
# how='inner', left_on='kk', right_on='gg'
# 用左表中kk 与右表中的gg列的值进行拼接,并求取的是交集
# res = pd.merge(left=left, right=right, how='inner', left_on='kk', right_on='gg')
# print('res:\n', res)
# how='left', left_on='kk', right_on='gg'
# 用左表中kk 与右表中的gg列的值进行拼接,用右表来配合左表,如果右表中没有的值用NaN补齐
# res = pd.merge(left=left, right=right, how='left', left_on='kk', right_on='gg')
# print('res:\n', res)
# how='right', left_on='kk', right_on='gg'
# 用左表中kk 与右表中的gg列的值进行拼接,用左表来配合右表,如果左表中没有的值用NaN来补齐
# res = pd.merge(left=left, right=right, how='right', left_on='kk', right_on='gg')
# print('res:\n', res)
02-数据合并案例
import pandas as pd
import numpy as np
# 将detail 与info 与users拼接成一个大的数据集
# 加载detail
detail_0 = pd.read_excel("./meal_order_detail.xlsx", sheetname=0)
detail_1 = pd.read_excel("./meal_order_detail.xlsx", sheetname=1)
detail_2 = pd.read_excel("./meal_order_detail.xlsx", sheetname=2)
print('detail_0:\n', detail_0.shape)
print('detail_0:\n', detail_0
day06
最新推荐文章于 2024-05-14 14:39:51 发布
01-合并数据import pandas as pd"""import numpy as npnumpy 合并数组np.hstack() # 水平合并np.vstack() # 垂直合并np.concatenate() # 行的方向 axis = 0np.concatenate() # 列的方向 axis = 1""" # # 获取df数据# df1 = pd.read...
摘要由CSDN通过智能技术生成