Board logo

标题: Pandas的数据合并 [打印本页]

作者: admin    时间: 2023-10-23 08:32     标题: Pandas的数据合并

###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '语文':[110,105,109], '数学':[105,88,120], '英语':[99,115,130] }) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38]}) print(df_2) print("-" * 10) df_3 = pd.merge(df_2,df_1,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) print("-" * 10) ## 不输出索引: Result_1 = df_3.to_string(index=False) print(Result_1) 脚本运行的结果:(数据合并后会自动重置索引) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 0 李大杰 110 105 99 1 Jacky 105 88 115 2 zhuohua 109 120 130 ---------- 姓名 体育 0 李大杰 34.5 1 Jacky 39.7 2 zhuohua 38.0 ---------- 姓名 体育 语文 数学 英语 0 李大杰 34.5 110 105 99 1 Jacky 39.7 105 88 115 2 zhuohua 38.0 109 120 130 ---------- 姓名 体育 语文 数学 英语 李大杰 34.5 110 105 99 Jacky 39.7 105 88 115 zhuohua 38.0 109 120 130 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '语文':[110,105,109], '数学':[105,88,120], '英语':[99,115,130] }) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38]}) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(数据合并后会自动重置索引) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 0 李大杰 110 105 99 1 Jacky 105 88 115 2 zhuohua 109 120 130 ---------- 姓名 体育 0 李大杰 34.5 1 Jacky 39.7 2 zhuohua 38.0 ---------- 姓名 语文 数学 英语 体育 0 李大杰 110 105 99 34.5 1 Jacky 105 88 115 39.7 2 zhuohua 109 120 130 38.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '语文':[110,105,109], '数学':[105,88,120], '英语':[99,115,130] }, index=[1,2,3]) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38]}, index=[7,8,9]) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(数据合并后会自动重置索引) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 1 李大杰 110 105 99 2 Jacky 105 88 115 3 zhuohua 109 120 130 ---------- 姓名 体育 7 李大杰 34.5 8 Jacky 39.7 9 zhuohua 38.0 ---------- 姓名 语文 数学 英语 体育 0 李大杰 110 105 99 34.5 1 Jacky 105 88 115 39.7 2 zhuohua 109 120 130 38.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky Li','zhuohua'], '语文':[110,105,109], '数学':[105,88,120], '英语':[99,115,130] }, index=[1,2,3]) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38]}, index=[7,8,9]) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(当两个表的列“姓名”的数据不一致时,结果是两表的交集) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 1 李大杰 110 105 99 2 Jacky Li 105 88 115 3 zhuohua 109 120 130 ---------- 姓名 体育 7 李大杰 34.5 8 Jacky 39.7 9 zhuohua 38.0 ---------- 姓名 语文 数学 英语 体育 0 李大杰 110 105 99 34.5 1 zhuohua 109 120 130 38.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '语文':[110,105,109], '数学':[105,88,120], '英语':[99,115,130] }, index=[1,2,3]) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua Wu'], '体育':[34.5,39.7,38]}, index=[7,8,9]) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(当两个表的列“姓名”的数据不一致时,结果是两表的交集) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 1 李大杰 110 105 99 2 Jacky 105 88 115 3 zhuohua 109 120 130 ---------- 姓名 体育 7 李大杰 34.5 8 Jacky 39.7 9 zhuohua Wu 38.0 ---------- 姓名 语文 数学 英语 体育 0 李大杰 110 105 99 34.5 1 Jacky 105 88 115 39.7 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '语文':[110,105,109], '数学':[105,88,120], '英语':[99,115,130],'考试时间':['一月','一月','一月'] }) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38],'考试时间':['一月','一月','一月']}) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(两个表的列标题相同时,会自动给列标题改名) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 考试时间 0 李大杰 110 105 99 一月 1 Jacky 105 88 115 一月 2 zhuohua 109 120 130 一月 ---------- 姓名 体育 考试时间 0 李大杰 34.5 一月 1 Jacky 39.7 一月 2 zhuohua 38.0 一月 ---------- 姓名 语文 数学 英语 考试时间_x 体育 考试时间_y 0 李大杰 110 105 99 一月 34.5 一月 1 Jacky 105 88 115 一月 39.7 一月 2 zhuohua 109 120 130 一月 38.0 一月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '语文':[110,105,109], '数学':[105,88,120], '英语':[99,115,130],'考试时间':['一月','一月','一月'] }) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38],'考试时间':['二月','二月','二月']}) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(两个表的列标题相同时,会自动给列标题改名) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 考试时间 0 李大杰 110 105 99 一月 1 Jacky 105 88 115 一月 2 zhuohua 109 120 130 一月 ---------- 姓名 体育 考试时间 0 李大杰 34.5 二月 1 Jacky 39.7 二月 2 zhuohua 38.0 二月 ---------- 姓名 语文 数学 英语 考试时间_x 体育 考试时间_y 0 李大杰 110 105 99 一月 34.5 二月 1 Jacky 105 88 115 一月 39.7 二月 2 zhuohua 109 120 130 一月 38.0 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '语文':[110,105,109], '数学':[105,88,120], '英语':[99,115,130],'考试时间':['一月','一月','一月'] }) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38],'英语':[9,15,10],'考试时间':['二月','二月','二月']}) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(两个表的列标题相同时,会自动给列标题改名) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 考试时间 0 李大杰 110 105 99 一月 1 Jacky 105 88 115 一月 2 zhuohua 109 120 130 一月 ---------- 姓名 体育 英语 考试时间 0 李大杰 34.5 9 二月 1 Jacky 39.7 15 二月 2 zhuohua 38.0 10 二月 ---------- 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua','李大杰'], '语文':[110,105,109,60], '数学':[105,88,120,60], '英语':[99,115,130,60],'考试时间':['一月','一月','一月','二月'] }) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38]}) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(当两个表的列“姓名”的数据重复时,结果是两表的并集) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 考试时间 0 李大杰 110 105 99 一月 1 Jacky 105 88 115 一月 2 zhuohua 109 120 130 一月 3 李大杰 60 60 60 二月 ---------- 姓名 体育 0 李大杰 34.5 1 Jacky 39.7 2 zhuohua 38.0 ---------- 姓名 语文 数学 英语 考试时间 体育 0 李大杰 110 105 99 一月 34.5 1 李大杰 60 60 60 二月 34.5 2 Jacky 105 88 115 一月 39.7 3 zhuohua 109 120 130 一月 38.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua','李大杰'], '语文':[110,105,109,60], '数学':[105,88,120,60], '英语':[99,115,130,60],'考试时间':['一月','一月','一月','二月'] }) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'体育':[34.5,39.7,38], '姓名':['李大杰','Jacky','zhuohua'] }) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(当两个表的列“姓名”的数据重复时,结果是两表的并集) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 考试时间 0 李大杰 110 105 99 一月 1 Jacky 105 88 115 一月 2 zhuohua 109 120 130 一月 3 李大杰 60 60 60 二月 ---------- 体育 姓名 0 34.5 李大杰 1 39.7 Jacky 2 38.0 zhuohua ---------- 姓名 语文 数学 英语 考试时间 体育 0 李大杰 110 105 99 一月 34.5 1 李大杰 60 60 60 二月 34.5 2 Jacky 105 88 115 一月 39.7 3 zhuohua 109 120 130 一月 38.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua','李大杰'], '语文':[110,105,109,60], '数学':[105,88,120,60], '英语':[99,115,130,60],'考试时间':['一月','一月','一月','二月'] }) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'体育':[34.5,39.7,38], '姓名':['李大杰','Jacky','zhuohua'] }) print(df_2) print("-" * 10) df_3 = pd.merge(df_2,df_1,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(当两个表的列“姓名”的数据重复时,结果是两表的并集) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 考试时间 0 李大杰 110 105 99 一月 1 Jacky 105 88 115 一月 2 zhuohua 109 120 130 一月 3 李大杰 60 60 60 二月 ---------- 体育 姓名 0 34.5 李大杰 1 39.7 Jacky 2 38.0 zhuohua ---------- 体育 姓名 语文 数学 英语 考试时间 0 34.5 李大杰 110 105 99 一月 1 34.5 李大杰 60 60 60 二月 2 39.7 Jacky 105 88 115 一月 3 38.0 zhuohua 109 120 130 一月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua','李大杰'], '语文':[110,105,109,60], '数学':[105,88,120,60], '英语':[99,115,130,60],'考试时间':['一月','一月','一月','二月'] }) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38],'考试时间':['一月','一月','一月']}) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(当两个表的列“姓名”的数据重复时,结果是两表的并集) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 考试时间 0 李大杰 110 105 99 一月 1 Jacky 105 88 115 一月 2 zhuohua 109 120 130 一月 3 李大杰 60 60 60 二月 ---------- 姓名 体育 考试时间 0 李大杰 34.5 一月 1 Jacky 39.7 一月 2 zhuohua 38.0 一月 ---------- 姓名 语文 数学 英语 考试时间_x 体育 考试时间_y 0 李大杰 110 105 99 一月 34.5 一月 1 李大杰 60 60 60 二月 34.5 一月 2 Jacky 105 88 115 一月 39.7 一月 3 zhuohua 109 120 130 一月 38.0 一月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua','李大杰'], '语文':[110,105,109,60], '数学':[105,88,120,60], '英语':[99,115,130,60],'考试时间':['一月','一月','一月','二月'] }) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38],'英语':[9,15,10],'考试时间':['二月','二月','二月']}) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(当两个表的列“姓名”的数据重复时,结果是两表的并集) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 考试时间 0 李大杰 110 105 99 一月 1 Jacky 105 88 115 一月 2 zhuohua 109 120 130 一月 3 李大杰 60 60 60 二月 ---------- 姓名 体育 英语 考试时间 0 李大杰 34.5 9 二月 1 Jacky 39.7 15 二月 2 zhuohua 38.0 10 二月 ---------- 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 李大杰 60 60 60 二月 34.5 9 二月 2 Jacky 105 88 115 一月 39.7 15 二月 3 zhuohua 109 120 130 一月 38.0 10 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua','李大杰'], '语文':[110,105,109,60], '数学':[105,88,120,60], '英语':[99,115,130,60],'考试时间':['一月','一月','一月','二月'] }) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['Jacky','李大杰','Jacky','zhuohua'], '体育':[60,34.5,39.7,38],'考试时间':['一月','二月','二月','二月']}) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(当两个表的列“姓名”的数据重复时,结果是两表的并集) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 考试时间 0 李大杰 110 105 99 一月 1 Jacky 105 88 115 一月 2 zhuohua 109 120 130 一月 3 李大杰 60 60 60 二月 ---------- 姓名 体育 考试时间 0 Jacky 60.0 一月 1 李大杰 34.5 二月 2 Jacky 39.7 二月 3 zhuohua 38.0 二月 ---------- 姓名 语文 数学 英语 考试时间_x 体育 考试时间_y 0 李大杰 110 105 99 一月 34.5 二月 1 李大杰 60 60 60 二月 34.5 二月 2 Jacky 105 88 115 一月 60.0 一月 3 Jacky 105 88 115 一月 39.7 二月 4 zhuohua 109 120 130 一月 38.0 二月 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '语文':[110,105,109], '数学':[105,88,120], '英语':[99,115,130], '体育':[34.5,39.7,38] }, index=[1,2,3]) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38]}, index=[7,8,9]) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(两个表的列标题相同时,会自动给列标题改名) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 体育 1 李大杰 110 105 99 34.5 2 Jacky 105 88 115 39.7 3 zhuohua 109 120 130 38.0 ---------- 姓名 体育 7 李大杰 34.5 8 Jacky 39.7 9 zhuohua 38.0 ---------- 姓名 语文 数学 英语 体育_x 体育_y 0 李大杰 110 105 99 34.5 34.5 1 Jacky 105 88 115 39.7 39.7 2 zhuohua 109 120 130 38.0 38.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '语文':[110,105,109], '数学':[105,88,120], '英语':[99,115,130], '体育':[34.5,39.7,38] }, index=[1,2,3]) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38]}, index=[7,8,9]) print(df_2) print("-" * 10) #使用merge函数,根据“姓名”、“体育”这两列进行数据合并: df_3 = pd.merge(df_1,df_2,on=['姓名','体育']) print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 体育 1 李大杰 110 105 99 34.5 2 Jacky 105 88 115 39.7 3 zhuohua 109 120 130 38.0 ---------- 姓名 体育 7 李大杰 34.5 8 Jacky 39.7 9 zhuohua 38.0 ---------- 姓名 语文 数学 英语 体育 0 李大杰 110 105 99 34.5 1 Jacky 105 88 115 39.7 2 zhuohua 109 120 130 38.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '语文':[110,105,109], '数学':[105,88,120], '英语':[99,115,130], '体育':[34.5,1,38] }, index=[1,2,3]) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38]}, index=[7,8,9]) print(df_2) print("-" * 10) #使用merge函数,根据“姓名”、“体育”这两列进行数据合并: df_3 = pd.merge(df_1,df_2,on=['姓名','体育']) print(df_3) 脚本运行的结果:(当两个表的列“姓名”、“体育”的数据不一致时,结果是两表的交集) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 体育 1 李大杰 110 105 99 34.5 2 Jacky 105 88 115 1.0 3 zhuohua 109 120 130 38.0 ---------- 姓名 体育 7 李大杰 34.5 8 Jacky 39.7 9 zhuohua 38.0 ---------- 姓名 语文 数学 英语 体育 0 李大杰 110 105 99 34.5 1 zhuohua 109 120 130 38.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '语文':[110,105,109], '数学':[105,88,120], '英语':[99,115,130], '体育':[34.5,39.7,38] }, index=[1,2,3]) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua wu'], '体育':[34.5,39.7,38]}, index=[7,8,9]) print(df_2) print("-" * 10) #使用merge函数,根据“姓名”、“体育”这两列进行数据合并: df_3 = pd.merge(df_1,df_2,on=['姓名','体育']) print(df_3) 脚本运行的结果:(当两个表的列“姓名”、“体育”的数据不一致时,结果是两表的交集) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 体育 1 李大杰 110 105 99 34.5 2 Jacky 105 88 115 39.7 3 zhuohua 109 120 130 38.0 ---------- 姓名 体育 7 李大杰 34.5 8 Jacky 39.7 9 zhuohua wu 38.0 ---------- 姓名 语文 数学 英语 体育 0 李大杰 110 105 99 34.5 1 Jacky 105 88 115 39.7 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua','Lily'], '语文':[110,105,109,60], '数学':[105,88,120,60], '英语':[99,115,130,60] }, index=[1,2,3,4]) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38]}, index=[7,8,9]) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(当两个表的行数不一致时,结果是两表的交集) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 1 李大杰 110 105 99 2 Jacky 105 88 115 3 zhuohua 109 120 130 4 Lily 60 60 60 ---------- 姓名 体育 7 李大杰 34.5 8 Jacky 39.7 9 zhuohua 38.0 ---------- 姓名 语文 数学 英语 体育 0 李大杰 110 105 99 34.5 1 Jacky 105 88 115 39.7 2 zhuohua 109 120 130 38.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua','Lily'], '语文':[110,105,109,60], '数学':[105,88,120,60], '英语':[99,115,130,60] }, index=[1,2,3,4]) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38]}, index=[7,8,9]) print(df_2) print("-" * 10) df_3 = pd.merge(df_2,df_1,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(当两个表的行数不一致时,结果是两表的交集) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 1 李大杰 110 105 99 2 Jacky 105 88 115 3 zhuohua 109 120 130 4 Lily 60 60 60 ---------- 姓名 体育 7 李大杰 34.5 8 Jacky 39.7 9 zhuohua 38.0 ---------- 姓名 体育 语文 数学 英语 0 李大杰 34.5 110 105 99 1 Jacky 39.7 105 88 115 2 zhuohua 38.0 109 120 130 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','Lily','zhuohua'], '语文':[110,105,109,60], '数学':[105,88,120,60], '英语':[99,115,130,60] }, index=[1,2,3,4]) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38]}, index=[7,8,9]) print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(当两个表的行数不一致时,结果是两表的交集) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 1 李大杰 110 105 99 2 Jacky 105 88 115 3 Lily 109 120 130 4 zhuohua 60 60 60 ---------- 姓名 体育 7 李大杰 34.5 8 Jacky 39.7 9 zhuohua 38.0 ---------- 姓名 语文 数学 英语 体育 0 李大杰 110 105 99 34.5 1 Jacky 105 88 115 39.7 2 zhuohua 60 60 60 38.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','Lily','zhuohua'], '语文':[110,105,109,60], '数学':[105,88,120,60], '英语':[99,115,130,60] }, index=[1,2,3,4]) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38]}, index=[7,8,9]) print(df_2) print("-" * 10) df_3 = pd.merge(df_2,df_1,on='姓名') #使用merge函数,根据“姓名”这一列进行数据合并 print(df_3) 脚本运行的结果:(当两个表的行数不一致时,结果是两表的交集) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 1 李大杰 110 105 99 2 Jacky 105 88 115 3 Lily 109 120 130 4 zhuohua 60 60 60 ---------- 姓名 体育 7 李大杰 34.5 8 Jacky 39.7 9 zhuohua 38.0 ---------- 姓名 体育 语文 数学 英语 0 李大杰 34.5 110 105 99 1 Jacky 39.7 105 88 115 2 zhuohua 38.0 60 60 60 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_columns_1 = ['商品编号','商品名称','产地'] Key_data_1 = [['SP001','蛋糕','广东省广州市'],['SP002','雪糕','广东省清远市'],['SP003','面包','广东省佛山市']] df_1 = pd.DataFrame(data=Key_data_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 df_1 = df_1.set_index(['商品编号']) #设置指定列的数据为索引 print(df_1) print("-" * 10) Key_columns_2 = ['商品名称','味道'] Key_data_2 = [['蛋糕','草莓味'],['雪糕','青瓜味'],['面包','番茄味']] df_2 = pd.DataFrame(data=Key_data_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='商品名称') #使用merge函数,根据“商品名称”这一列进行数据合并 print(df_3) 脚本运行的结果:(数据合并后会自动重置索引) C:\Users\jacky\Desktop>python xx.py 商品名称 产地 商品编号 SP001 蛋糕 广东省广州市 SP002 雪糕 广东省清远市 SP003 面包 广东省佛山市 ---------- 商品名称 味道 0 蛋糕 草莓味 1 雪糕 青瓜味 2 面包 番茄味 ---------- 商品名称 产地 味道 0 蛋糕 广东省广州市 草莓味 1 雪糕 广东省清远市 青瓜味 2 面包 广东省佛山市 番茄味 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['SP001','SP002','SP003'] Key_columns_1 = ['商品名称','产地'] Key_data_1 = [['蛋糕','广东省广州市'],['雪糕','广东省清远市'],['面包','广东省佛山市']] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_columns_2 = ['商品名称','味道'] Key_data_2 = [['蛋糕','草莓味'],['雪糕','青瓜味'],['面包','番茄味']] df_2 = pd.DataFrame(data=Key_data_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='商品名称') #使用merge函数,根据“商品名称”这一列进行数据合并 print(df_3) 脚本运行的结果:(数据合并后会自动重置索引) C:\Users\jacky\Desktop>python xx.py 商品名称 产地 SP001 蛋糕 广东省广州市 SP002 雪糕 广东省清远市 SP003 面包 广东省佛山市 ---------- 商品名称 味道 0 蛋糕 草莓味 1 雪糕 青瓜味 2 面包 番茄味 ---------- 商品名称 产地 味道 0 蛋糕 广东省广州市 草莓味 1 雪糕 广东省清远市 青瓜味 2 面包 广东省佛山市 番茄味 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['SP001','SP002','SP003'] Key_columns_1 = ['商品名称','产地'] Key_data_1 = [['蛋糕','广东省广州市'],['雪糕','广东省清远市'],['面包','广东省佛山市']] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_columns_2 = ['商品名称','味道'] Key_data_2 = [['蛋糕','草莓味'],['雪糕','青瓜味'],['面包','番茄味'],['方便面','蒜香味']] df_2 = pd.DataFrame(data=Key_data_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,on='商品名称') #使用merge函数,根据“商品名称”这一列进行数据合并 print(df_3) 脚本运行的结果:(当两个表的行数不一致时,结果是两表的交集) C:\Users\jacky\Desktop>python xx.py 商品名称 产地 SP001 蛋糕 广东省广州市 SP002 雪糕 广东省清远市 SP003 面包 广东省佛山市 ---------- 商品名称 味道 0 蛋糕 草莓味 1 雪糕 青瓜味 2 面包 番茄味 3 方便面 蒜香味 ---------- 商品名称 产地 味道 0 蛋糕 广东省广州市 草莓味 1 雪糕 广东省清远市 青瓜味 2 面包 广东省佛山市 番茄味 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['SP001','SP002','SP003'] Key_columns_1 = ['商品名称','产地'] Key_data_1 = [['蛋糕','广东省广州市'],['雪糕','广东省清远市'],['面包','广东省佛山市']] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_columns_2 = ['商品名称','味道'] Key_data_2 = [['蛋糕','草莓味'],['雪糕','青瓜味'],['方便面','蒜香味'],['面包','番茄味']] df_2 = pd.DataFrame(data=Key_data_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) df_3 = pd.merge(df_2,df_1,on='商品名称') #使用merge函数,根据“商品名称”这一列进行数据合并 print(df_3) 脚本运行的结果:(当两个表的行数不一致时,结果是两表的交集) C:\Users\jacky\Desktop>python xx.py 商品名称 产地 SP001 蛋糕 广东省广州市 SP002 雪糕 广东省清远市 SP003 面包 广东省佛山市 ---------- 商品名称 味道 0 蛋糕 草莓味 1 雪糕 青瓜味 2 方便面 蒜香味 3 面包 番茄味 ---------- 商品名称 味道 产地 0 蛋糕 草莓味 广东省广州市 1 雪糕 青瓜味 广东省清远市 2 面包 番茄味 广东省佛山市 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['李大杰','Jacky','zhuohua'] Key_columns_1 = ['语文成绩','数学成绩','英语成绩','班级'] Key_data_1 = [[111,106,109,'三年一班'],[105,106,119,'三年二班'],[99.5,115,130,'三年二班']] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_index_2 = ['李大杰','Jacky','zhuohua'] Key_columns_2 = ['物理成绩','体育成绩'] Key_data_2 = [[111,106],[105,106],[99.5,118]] df_2 = pd.DataFrame(data=Key_data_2,index=Key_index_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,right_index=True,left_index=True) #使用merge函数,根据索引进行数据合并 print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 111.0 106 109 三年一班 Jacky 105.0 106 119 三年二班 zhuohua 99.5 115 130 三年二班 ---------- 物理成绩 体育成绩 李大杰 111.0 106 Jacky 105.0 106 zhuohua 99.5 118 ---------- 语文成绩 数学成绩 英语成绩 班级 物理成绩 体育成绩 李大杰 111.0 106 109 三年一班 111.0 106 Jacky 105.0 106 119 三年二班 105.0 106 zhuohua 99.5 115 130 三年二班 99.5 118 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['李大杰','Jacky','zhuohua'] Key_columns_1 = ['语文成绩','数学成绩','英语成绩','班级'] Key_data_1 = [[111,106,109,'三年一班'],[105,106,119,'三年二班'],[99.5,115,130,'三年二班']] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_index_2 = ['李大杰','Jacky','zhuohua'] Key_columns_2 = ['物理成绩','体育成绩'] Key_data_2 = [[111,106],[105,106],[99.5,118]] df_2 = pd.DataFrame(data=Key_data_2,index=Key_index_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) df_3 = pd.merge(df_2,df_1,right_index=True,left_index=True) #使用merge函数,根据索引进行数据合并 print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 111.0 106 109 三年一班 Jacky 105.0 106 119 三年二班 zhuohua 99.5 115 130 三年二班 ---------- 物理成绩 体育成绩 李大杰 111.0 106 Jacky 105.0 106 zhuohua 99.5 118 ---------- 物理成绩 体育成绩 语文成绩 数学成绩 英语成绩 班级 李大杰 111.0 106 111.0 106 109 三年一班 Jacky 105.0 106 105.0 106 119 三年二班 zhuohua 99.5 118 99.5 115 130 三年二班 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['李大杰','Jacky','zhuohua'] Key_columns_1 = ['语文成绩','数学成绩','英语成绩','班级'] Key_data_1 = [[111,106,109,'三年一班'],[105,106,119,'三年二班'],[99.5,115,130,'三年二班']] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_index_2 = ['李大杰','Jacky','zhuohua'] Key_columns_2 = ['班级','物理成绩','体育成绩'] Key_data_2 = [['三年一班',111,106],['三年二班',105,106],['三年二班',99.5,118]] df_2 = pd.DataFrame(data=Key_data_2,index=Key_index_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,right_index=True,left_index=True) #使用merge函数,根据索引进行数据合并 print(df_3) 脚本运行的结果:(两个表的列标题相同时,会自动给列标题改名) C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 111.0 106 109 三年一班 Jacky 105.0 106 119 三年二班 zhuohua 99.5 115 130 三年二班 ---------- 班级 物理成绩 体育成绩 李大杰 三年一班 111.0 106 Jacky 三年二班 105.0 106 zhuohua 三年二班 99.5 118 ---------- 语文成绩 数学成绩 英语成绩 班级_x 班级_y 物理成绩 体育成绩 李大杰 111.0 106 109 三年一班 三年一班 111.0 106 Jacky 105.0 106 119 三年二班 三年二班 105.0 106 zhuohua 99.5 115 130 三年二班 三年二班 99.5 118 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['李大杰','Jacky','zhuohua'] Key_columns_1 = ['语文成绩','数学成绩','英语成绩','班级'] Key_data_1 = [[111,106,109,'三年一班'],[105,106,119,'三年二班'],[99.5,115,130,'三年二班']] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_index_2 = ['李大杰','Jacky','zhuohua'] Key_columns_2 = ['班级','物理成绩','体育成绩'] Key_data_2 = [['三年一班',111,106],['三年二班',105,106],['三年san班',99.5,118]] df_2 = pd.DataFrame(data=Key_data_2,index=Key_index_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,right_index=True,left_index=True) #使用merge函数,根据索引进行数据合并 print(df_3) 脚本运行的结果:(两个表的列标题相同时,会自动给列标题改名) C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 111.0 106 109 三年一班 Jacky 105.0 106 119 三年二班 zhuohua 99.5 115 130 三年二班 ---------- 班级 物理成绩 体育成绩 李大杰 三年一班 111.0 106 Jacky 三年二班 105.0 106 zhuohua 三年san班 99.5 118 ---------- 语文成绩 数学成绩 英语成绩 班级_x 班级_y 物理成绩 体育成绩 李大杰 111.0 106 109 三年一班 三年一班 111.0 106 Jacky 105.0 106 119 三年二班 三年二班 105.0 106 zhuohua 99.5 115 130 三年二班 三年san班 99.5 118 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['李大杰','Jacky','zhuohua'] Key_columns_1 = ['语文成绩','数学成绩','英语成绩','班级'] Key_data_1 = [[111,106,109,'三年一班'],[105,106,119,'三年二班'],[99.5,115,130,'三年二班']] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_index_2 = ['李大杰','Jacky','zhuohua'] Key_columns_2 = ['班级','物理成绩','体育成绩'] Key_data_2 = [['三年一班',111,106],['三年二班',105,106],['三年二班',99.5,118]] df_2 = pd.DataFrame(data=Key_data_2,index=Key_index_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) ## 使用merge函数,根据索引进行数据合并,并对“班级”这一列的数据进行去重:(以下是保留df_1的“班级”的数据) df_3 = pd.merge(df_1,df_2,on='班级',right_index=True,left_index=True) print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 111.0 106 109 三年一班 Jacky 105.0 106 119 三年二班 zhuohua 99.5 115 130 三年二班 ---------- 班级 物理成绩 体育成绩 李大杰 三年一班 111.0 106 Jacky 三年二班 105.0 106 zhuohua 三年二班 99.5 118 ---------- 语文成绩 数学成绩 英语成绩 班级 物理成绩 体育成绩 李大杰 111.0 106 109 三年一班 111.0 106 Jacky 105.0 106 119 三年二班 105.0 106 zhuohua 99.5 115 130 三年二班 99.5 118 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['李大杰','Jacky','zhuohua'] Key_columns_1 = ['语文成绩','数学成绩','英语成绩','班级'] Key_data_1 = [[111,106,109,'三年一班'],[105,106,119,'三年二班'],[99.5,115,130,'三年二班']] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_index_2 = ['李大杰','Jacky','zhuohua'] Key_columns_2 = ['班级','物理成绩','体育成绩'] Key_data_2 = [['三年一班',111,106],['三年二班',105,106],['三年san班',99.5,118]] df_2 = pd.DataFrame(data=Key_data_2,index=Key_index_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) ## 使用merge函数,根据索引进行数据合并,并对“班级”这一列的数据进行去重:(以下是保留df_1的“班级”的数据) df_3 = pd.merge(df_1,df_2,on='班级',right_index=True,left_index=True) print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 111.0 106 109 三年一班 Jacky 105.0 106 119 三年二班 zhuohua 99.5 115 130 三年二班 ---------- 班级 物理成绩 体育成绩 李大杰 三年一班 111.0 106 Jacky 三年二班 105.0 106 zhuohua 三年san班 99.5 118 ---------- 语文成绩 数学成绩 英语成绩 班级 物理成绩 体育成绩 李大杰 111.0 106 109 三年一班 111.0 106 Jacky 105.0 106 119 三年二班 105.0 106 zhuohua 99.5 115 130 三年二班 99.5 118 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['李大杰','Jacky','zhuohua'] Key_columns_1 = ['语文成绩','数学成绩','英语成绩','班级'] Key_data_1 = [[111,106,109,'三年一班'],[105,106,119,'三年二班'],[99.5,115,130,'三年二班']] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_index_2 = ['李大杰','Jacky','zhuohua'] Key_columns_2 = ['班级','物理成绩','体育成绩'] Key_data_2 = [['三年一班',111,106],['三年二班',105,106],['三年san班',99.5,118]] df_2 = pd.DataFrame(data=Key_data_2,index=Key_index_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) ## 使用merge函数,根据索引进行数据合并,并对“班级”这一列的数据进行去重:(以下是保留df_2的“班级”的数据) df_3 = pd.merge(df_2,df_1,on='班级',right_index=True,left_index=True) print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 111.0 106 109 三年一班 Jacky 105.0 106 119 三年二班 zhuohua 99.5 115 130 三年二班 ---------- 班级 物理成绩 体育成绩 李大杰 三年一班 111.0 106 Jacky 三年二班 105.0 106 zhuohua 三年san班 99.5 118 ---------- 班级 物理成绩 体育成绩 语文成绩 数学成绩 英语成绩 李大杰 三年一班 111.0 106 111.0 106 109 Jacky 三年二班 105.0 106 105.0 106 119 zhuohua 三年san班 99.5 118 99.5 115 130 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['李大杰','Jacky','zhuohua'] Key_columns_1 = ['语文成绩','班级','化学成绩'] Key_data_1 = [[111,'三年一班',60],[105,'三年二班',60],[99.5,'三年二班',61]] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_index_2 = ['李大杰','Jacky','zhuohua'] Key_columns_2 = ['班级','体育成绩','化学成绩'] Key_data_2 = [['三年一班',106,60],['三年二班',106,60],['三年二班',118,61]] df_2 = pd.DataFrame(data=Key_data_2,index=Key_index_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,right_index=True,left_index=True) #使用merge函数,根据索引进行数据合并 print(df_3) 脚本运行的结果:(两个表的列标题相同时,会自动给列标题改名) C:\Users\jacky\Desktop>python xx.py 语文成绩 班级 化学成绩 李大杰 111.0 三年一班 60 Jacky 105.0 三年二班 60 zhuohua 99.5 三年二班 61 ---------- 班级 体育成绩 化学成绩 李大杰 三年一班 106 60 Jacky 三年二班 106 60 zhuohua 三年二班 118 61 ---------- 语文成绩 班级_x 化学成绩_x 班级_y 体育成绩 化学成绩_y 李大杰 111.0 三年一班 60 三年一班 106 60 Jacky 105.0 三年二班 60 三年二班 106 60 zhuohua 99.5 三年二班 61 三年二班 118 61 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['李大杰','Jacky','zhuohua'] Key_columns_1 = ['语文成绩','班级','化学成绩'] Key_data_1 = [[111,'三年一班',60],[105,'三年二班',60],[99.5,'三年二班',61]] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_index_2 = ['李大杰','Jacky','zhuohua'] Key_columns_2 = ['班级','体育成绩','化学成绩'] Key_data_2 = [['三年一班',106,60],['三年二班',106,60],['三年二班',118,66]] df_2 = pd.DataFrame(data=Key_data_2,index=Key_index_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) df_3 = pd.merge(df_1,df_2,right_index=True,left_index=True) #使用merge函数,根据索引进行数据合并 print(df_3) 脚本运行的结果:(两个表的列标题相同时,会自动给列标题改名) C:\Users\jacky\Desktop>python xx.py 语文成绩 班级 化学成绩 李大杰 111.0 三年一班 60 Jacky 105.0 三年二班 60 zhuohua 99.5 三年二班 61 ---------- 班级 体育成绩 化学成绩 李大杰 三年一班 106 60 Jacky 三年二班 106 60 zhuohua 三年二班 118 66 ---------- 语文成绩 班级_x 化学成绩_x 班级_y 体育成绩 化学成绩_y 李大杰 111.0 三年一班 60 三年一班 106 60 Jacky 105.0 三年二班 60 三年二班 106 60 zhuohua 99.5 三年二班 61 三年二班 118 66 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['李大杰','Jacky','zhuohua'] Key_columns_1 = ['语文成绩','班级','化学成绩'] Key_data_1 = [[111,'三年一班',60],[105,'三年二班',60],[99.5,'三年二班',61]] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_index_2 = ['李大杰','Jacky','zhuohua'] Key_columns_2 = ['班级','体育成绩','化学成绩'] Key_data_2 = [['三年一班',106,60],['三年二班',106,60],['三年san班',118,66]] df_2 = pd.DataFrame(data=Key_data_2,index=Key_index_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) ## 使用merge函数,根据索引进行数据合并,并对“班级”这一列的数据进行去重:(以下是保留df_1的“班级”的数据) df_3 = pd.merge(df_1,df_2,on='班级',right_index=True,left_index=True) print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 班级 化学成绩 李大杰 111.0 三年一班 60 Jacky 105.0 三年二班 60 zhuohua 99.5 三年二班 61 ---------- 班级 体育成绩 化学成绩 李大杰 三年一班 106 60 Jacky 三年二班 106 60 zhuohua 三年san班 118 66 ---------- 语文成绩 班级 化学成绩_x 体育成绩 化学成绩_y 李大杰 111.0 三年一班 60 106 60 Jacky 105.0 三年二班 60 106 60 zhuohua 99.5 三年二班 61 118 66 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['李大杰','Jacky','zhuohua'] Key_columns_1 = ['语文成绩','班级','化学成绩'] Key_data_1 = [[111,'三年一班',60],[105,'三年二班',60],[99.5,'三年二班',61]] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_index_2 = ['李大杰','Jacky','zhuohua'] Key_columns_2 = ['班级','体育成绩','化学成绩'] Key_data_2 = [['三年一班',106,60],['三年二班',106,60],['三年san班',118,66]] df_2 = pd.DataFrame(data=Key_data_2,index=Key_index_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) ## 使用merge函数,根据索引进行数据合并,并对“班级”这一列的数据进行去重:(以下是保留df_2的“班级”的数据) df_3 = pd.merge(df_2,df_1,on='班级',right_index=True,left_index=True) print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 班级 化学成绩 李大杰 111.0 三年一班 60 Jacky 105.0 三年二班 60 zhuohua 99.5 三年二班 61 ---------- 班级 体育成绩 化学成绩 李大杰 三年一班 106 60 Jacky 三年二班 106 60 zhuohua 三年san班 118 66 ---------- 班级 体育成绩 化学成绩_x 语文成绩 化学成绩_y 李大杰 三年一班 106 60 111.0 60 Jacky 三年二班 106 60 105.0 60 zhuohua 三年san班 118 66 99.5 61 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['李大杰','Jacky','zhuohua'] Key_columns_1 = ['语文成绩','班级','化学成绩'] Key_data_1 = [[111,'三年一班',60],[105,'三年二班',60],[99.5,'三年二班',61]] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_index_2 = ['李大杰','Jacky','zhuohua'] Key_columns_2 = ['班级','体育成绩','化学成绩'] Key_data_2 = [['三年一班',106,60],['三年二班',106,60],['三年san班',118,66]] df_2 = pd.DataFrame(data=Key_data_2,index=Key_index_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) ## 使用merge函数,根据索引进行数据合并,并对“班级”、“化学成绩”这两列的数据进行去重:(以下是保留df_1的“班级”、“化学成绩”的数据) df_3 = pd.merge(df_1,df_2,on=['班级','化学成绩'],right_index=True,left_index=True) print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 班级 化学成绩 李大杰 111.0 三年一班 60 Jacky 105.0 三年二班 60 zhuohua 99.5 三年二班 61 ---------- 班级 体育成绩 化学成绩 李大杰 三年一班 106 60 Jacky 三年二班 106 60 zhuohua 三年san班 118 66 ---------- 语文成绩 班级 化学成绩 体育成绩 李大杰 111.0 三年一班 60 106 Jacky 105.0 三年二班 60 106 zhuohua 99.5 三年二班 61 118 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_index_1 = ['李大杰','Jacky','zhuohua'] Key_columns_1 = ['语文成绩','班级','化学成绩'] Key_data_1 = [[111,'三年一班',60],[105,'三年二班',60],[99.5,'三年二班',61]] df_1 = pd.DataFrame(data=Key_data_1,index=Key_index_1,columns=Key_columns_1) #使用二维数组创建DataFrame数据 print(df_1) print("-" * 10) Key_index_2 = ['李大杰','Jacky','zhuohua'] Key_columns_2 = ['班级','体育成绩','化学成绩'] Key_data_2 = [['三年一班',106,60],['三年二班',106,60],['三年san班',118,66]] df_2 = pd.DataFrame(data=Key_data_2,index=Key_index_2,columns=Key_columns_2) #使用二维数组创建DataFrame数据 print(df_2) print("-" * 10) ## 使用merge函数,根据索引进行数据合并,并对“班级”、“化学成绩”这两列的数据进行去重:(以下是保留df_2的“班级”、“化学成绩”的数据) df_3 = pd.merge(df_2,df_1,on=['班级','化学成绩'],right_index=True,left_index=True) print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 班级 化学成绩 李大杰 111.0 三年一班 60 Jacky 105.0 三年二班 60 zhuohua 99.5 三年二班 61 ---------- 班级 体育成绩 化学成绩 李大杰 三年一班 106 60 Jacky 三年二班 106 60 zhuohua 三年san班 118 66 ---------- 班级 体育成绩 化学成绩 语文成绩 李大杰 三年一班 106 60 111.0 Jacky 三年二班 106 60 105.0 zhuohua 三年san班 118 66 99.5 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰']}) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr001','mr003'],'语文成绩':[110,105,109], '数学成绩':[105,88,120],'考试时间':['一月','二月','三月']}) print(df2) print("-" * 10) print("-" * 10) ## 使用merge函数,根据“学生编号”这一列进行多对一的数据合并(以下是df2根据df1的数据进行补全) df3 = pd.merge(df1,df2,on='学生编号') print(df3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 0 mr001 zhuohua 1 mr002 Jacky 2 mr003 李大杰 ---------- 学生编号 语文成绩 数学成绩 考试时间 0 mr001 110 105 一月 1 mr001 105 88 二月 2 mr003 109 120 三月 ---------- ---------- 学生编号 学生姓名 语文成绩 数学成绩 考试时间 0 mr001 zhuohua 110 105 一月 1 mr001 zhuohua 105 88 二月 2 mr003 李大杰 109 120 三月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰'], '物理成绩':[15,8,12] }) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr001','mr003'],'语文成绩':[110,105,109], '数学成绩':[105,88,120],'考试时间':['一月','二月','三月']}) print(df2) print("-" * 10) print("-" * 10) ## 使用merge函数,根据“学生编号”这一列进行多对一的数据合并(以下是df2根据df1的数据进行补全) df3 = pd.merge(df1,df2,on='学生编号') print(df3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 物理成绩 0 mr001 zhuohua 15 1 mr002 Jacky 8 2 mr003 李大杰 12 ---------- 学生编号 语文成绩 数学成绩 考试时间 0 mr001 110 105 一月 1 mr001 105 88 二月 2 mr003 109 120 三月 ---------- ---------- 学生编号 学生姓名 物理成绩 语文成绩 数学成绩 考试时间 0 mr001 zhuohua 15 110 105 一月 1 mr001 zhuohua 15 105 88 二月 2 mr003 李大杰 12 109 120 三月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰'], '物理成绩':[15,8,12],'考试时间':['一月','一月','一月'] }) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr001','mr003'],'语文成绩':[110,105,109], '数学成绩':[105,88,120],'考试时间':['一月','二月','三月']}) print(df2) print("-" * 10) print("-" * 10) ## 使用merge函数,根据“学生编号”这一列进行多对一的数据合并(以下是df2根据df1的数据进行补全) df3 = pd.merge(df1,df2,on='学生编号') print(df3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 物理成绩 考试时间 0 mr001 zhuohua 15 一月 1 mr002 Jacky 8 一月 2 mr003 李大杰 12 一月 ---------- 学生编号 语文成绩 数学成绩 考试时间 0 mr001 110 105 一月 1 mr001 105 88 二月 2 mr003 109 120 三月 ---------- ---------- 学生编号 学生姓名 物理成绩 考试时间_x 语文成绩 数学成绩 考试时间_y 0 mr001 zhuohua 15 一月 110 105 一月 1 mr001 zhuohua 15 一月 105 88 二月 2 mr003 李大杰 12 一月 109 120 三月 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰'], '语文成绩':[34.5,39.7,38]}) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr004','mr005'],'学生姓名':['Happy','Lily'], '语文成绩':[60,70]}) print(df2) print("-" * 10) print("-" * 10) dfs = [df1,df2] ## 使用concat函数进行数据合并,相同字段首尾相接: Result_1 = pd.concat(dfs) print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 ---------- 学生编号 学生姓名 语文成绩 0 mr004 Happy 60 1 mr005 Lily 70 ---------- ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 0 mr004 Happy 60.0 1 mr005 Lily 70.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰'], '语文成绩':[34.5,39.7,38]}) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr004','mr005'],'学生姓名':['Happy','Lily'], '语文成绩':[60,70]}) print(df2) print("-" * 10) print("-" * 10) dfs = [df2,df1] ## 使用concat函数进行数据合并,相同字段首尾相接: Result_1 = pd.concat(dfs) print(Result_1) print("-" * 10) ## 不输出索引: Result_2 = Result_1.to_string(index=False) print(Result_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 ---------- 学生编号 学生姓名 语文成绩 0 mr004 Happy 60 1 mr005 Lily 70 ---------- ---------- 学生编号 学生姓名 语文成绩 0 mr004 Happy 60.0 1 mr005 Lily 70.0 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 ---------- 学生编号 学生姓名 语文成绩 mr004 Happy 60.0 mr005 Lily 70.0 mr001 zhuohua 34.5 mr002 Jacky 39.7 mr003 李大杰 38.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰'], '语文成绩':[34.5,39.7,38]}) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr004','mr005'],'学生姓名':['Happy','Lily'], '语文成绩':[60,70]}) print(df2) print("-" * 10) df3 = pd.DataFrame({'学生编号':['mr006','mr007','mr008'],'学生姓名':['小红','大白','苏红'], '语文成绩':[160,170,180]}) print(df3) print("-" * 10) print("-" * 10) dfs = [df1,df2,df3] ## 使用concat函数进行数据合并,相同字段首尾相接: Result_1 = pd.concat(dfs) print(Result_1) print("-" * 10) ## 删除旧索引后,重新设置索引:(索引默认从0开始) Result_2 = Result_1.dropna().reset_index(drop=True) print(Result_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 ---------- 学生编号 学生姓名 语文成绩 0 mr004 Happy 60 1 mr005 Lily 70 ---------- 学生编号 学生姓名 语文成绩 0 mr006 小红 160 1 mr007 大白 170 2 mr008 苏红 180 ---------- ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 0 mr004 Happy 60.0 1 mr005 Lily 70.0 0 mr006 小红 160.0 1 mr007 大白 170.0 2 mr008 苏红 180.0 ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 5 mr006 小红 160.0 6 mr007 大白 170.0 7 mr008 苏红 180.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰'], '语文成绩':[34.5,39.7,38]}) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr004','mr005'],'学生姓名':['Happy','Lily'], '语文成绩':[60,70]}) print(df2) print("-" * 10) df3 = pd.DataFrame({'学生编号':['mr006','mr007','mr008'],'学生姓名':['小红','大白','苏红'], '语文成绩':[160,170,180]}) print(df3) print("-" * 10) print("-" * 10) dfs = [df1,df2,df3] ## 使用concat函数进行数据合并,相同字段首尾相接: Result_1 = pd.concat(dfs,ignore_index=True) #使用“ignore_index=True”时,结果会自动重置索引(索引默认从0开始) print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 ---------- 学生编号 学生姓名 语文成绩 0 mr004 Happy 60 1 mr005 Lily 70 ---------- 学生编号 学生姓名 语文成绩 0 mr006 小红 160 1 mr007 大白 170 2 mr008 苏红 180 ---------- ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 5 mr006 小红 160.0 6 mr007 大白 170.0 7 mr008 苏红 180.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰'], '语文成绩':[34.5,39.7,38]}) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr004','mr005'],'学生姓名':['Happy','Lily'], '语文成绩':[60,70]}) print(df2) print("-" * 10) df3 = pd.DataFrame({'学生编号':['mr006','mr007','mr008'],'学生姓名':['小红','大白','苏红'], '语文成绩':[160,170,180]}) print(df3) print("-" * 10) print("-" * 10) dfs = [df1,df2,df3] ## 使用concat函数进行数据合并,相同字段首尾相接: Result_1 = pd.concat(dfs,keys=['三年一班','三年二班','三年三班']) #使用“keys=[]”时,合并后带标记 print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 ---------- 学生编号 学生姓名 语文成绩 0 mr004 Happy 60 1 mr005 Lily 70 ---------- 学生编号 学生姓名 语文成绩 0 mr006 小红 160 1 mr007 大白 170 2 mr008 苏红 180 ---------- ---------- 学生编号 学生姓名 语文成绩 三年一班 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 三年二班 0 mr004 Happy 60.0 1 mr005 Lily 70.0 三年三班 0 mr006 小红 160.0 1 mr007 大白 170.0 2 mr008 苏红 180.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰'], '语文成绩':[34.5,39.7,38]}) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰'], '语文成绩':[60,70,80]}) print(df2) print("-" * 10) df3 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰'], '语文成绩':[160,170,180]}) print(df3) print("-" * 10) print("-" * 10) dfs = [df1,df2,df3] ## 使用concat函数进行数据合并,相同字段首尾相接: Result_1 = pd.concat(dfs,keys=['一月','二月','三月']) #使用“keys=[]”时,合并后带标记 print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 60 1 mr002 Jacky 70 2 mr003 李大杰 80 ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 160 1 mr002 Jacky 170 2 mr003 李大杰 180 ---------- ---------- 学生编号 学生姓名 语文成绩 一月 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 二月 0 mr001 zhuohua 60.0 1 mr002 Jacky 70.0 2 mr003 李大杰 80.0 三月 0 mr001 zhuohua 160.0 1 mr002 Jacky 170.0 2 mr003 李大杰 180.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰'], '语文成绩':[34.5,39.7,38]}) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰'], '语文成绩':[60,70,80]}) print(df2) print("-" * 10) df3 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰'], '语文成绩':[160,170,180]}) print(df3) print("-" * 10) print("-" * 10) dfs = [df3,df1,df2] ## 使用concat函数进行数据合并,相同字段首尾相接: Result_1 = pd.concat(dfs,keys=['三月','二月','一月']) #使用“keys=[]”时,合并后带标记 print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 60 1 mr002 Jacky 70 2 mr003 李大杰 80 ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 160 1 mr002 Jacky 170 2 mr003 李大杰 180 ---------- ---------- 学生编号 学生姓名 语文成绩 三月 0 mr001 zhuohua 160.0 1 mr002 Jacky 170.0 2 mr003 李大杰 180.0 二月 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 一月 0 mr001 zhuohua 60.0 1 mr002 Jacky 70.0 2 mr003 李大杰 80.0 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002'],'学生姓名':['zhuohua','李大杰']}) print(df1) print("-" * 10) df2 = pd.DataFrame({'语文成绩':[110,105,109], '数学成绩':[105,88,120],'考试时间':['一月','二月','三月']}) print(df2) print("-" * 10) print("-" * 10) ## 使用concat函数进行横向表数据合并(行对齐):(结果是两个表的并集) Result_1 = pd.concat([df1,df2],axis=1) print(Result_1) 脚本运行的结果:(缺少的数据用NaN填充) C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 0 mr001 zhuohua 1 mr002 李大杰 ---------- 语文成绩 数学成绩 考试时间 0 110 105 一月 1 105 88 二月 2 109 120 三月 ---------- ---------- 学生编号 学生姓名 语文成绩 数学成绩 考试时间 0 mr001 zhuohua 110 105 一月 1 mr002 李大杰 105 88 二月 2 NaN NaN 109 120 三月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002'],'学生姓名':['zhuohua','李大杰']}) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'语文成绩':[110,105,109], '数学成绩':[105,88,120],'考试时间':['一月','二月','三月']}) print(df2) print("-" * 10) print("-" * 10) ## 使用concat函数进行横向表数据合并(行对齐):(结果是两个表的并集) Result_1 = pd.concat([df1,df2],axis=1) print(Result_1) 脚本运行的结果:(两个表的列标题相同时,不会自动给列标题改名) C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 0 mr001 zhuohua 1 mr002 李大杰 ---------- 学生编号 语文成绩 数学成绩 考试时间 0 mr001 110 105 一月 1 mr002 105 88 二月 2 mr003 109 120 三月 ---------- ---------- 学生编号 学生姓名 学生编号 语文成绩 数学成绩 考试时间 0 mr001 zhuohua mr001 110 105 一月 1 mr002 李大杰 mr002 105 88 二月 2 NaN NaN mr003 109 120 三月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002'],'学生姓名':['zhuohua','李大杰']}) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'语文成绩':[110,105,109], '数学成绩':[105,88,120],'考试时间':['一月','二月','三月']}) print(df2) print("-" * 10) print("-" * 10) ## 使用concat函数进行横向表数据合并(行对齐):(结果是两个表的并集) Result_1 = pd.concat([df1,df2],axis=1) print(Result_1) print("-" * 10) Result_2 = Result_1.iloc[:,[2,1,3,4,5]] #输出第3列、第2列、第4列、第5列、第6列的数据 print(Result_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 0 mr001 zhuohua 1 mr002 李大杰 ---------- 学生编号 语文成绩 数学成绩 考试时间 0 mr001 110 105 一月 1 mr002 105 88 二月 2 mr003 109 120 三月 ---------- ---------- 学生编号 学生姓名 学生编号 语文成绩 数学成绩 考试时间 0 mr001 zhuohua mr001 110 105 一月 1 mr002 李大杰 mr002 105 88 二月 2 NaN NaN mr003 109 120 三月 ---------- 学生编号 学生姓名 语文成绩 数学成绩 考试时间 0 mr001 zhuohua 110 105 一月 1 mr002 李大杰 105 88 二月 2 mr003 NaN 109 120 三月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002'],'学生姓名':['zhuohua','李大杰'], '物理成绩':[15,20], '考试时间':['一月','一月'] }) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'语文成绩':[110,105,109], '数学成绩':[105,88,120],'考试时间':['一月','二月','三月']}) print(df2) print("-" * 10) print("-" * 10) ## 使用concat函数进行横向表数据合并(行对齐):(结果是两个表的并集) Result_1 = pd.concat([df1,df2],axis=1) print(Result_1) print("-" * 10) ## 一次性修改全部列标题: Result_1.columns = ['学生编号','学生姓名','物理成绩','考试时间_x','学生编号_y','语文','数学','考试时间_y'] print(Result_1) print("-" * 10) ## 删除列标题为“学生编号”的数据: Result_1.drop(['学生编号'],axis=1,inplace=True) print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 物理成绩 考试时间 0 mr001 zhuohua 15 一月 1 mr002 李大杰 20 一月 ---------- 学生编号 语文成绩 数学成绩 考试时间 0 mr001 110 105 一月 1 mr002 105 88 二月 2 mr003 109 120 三月 ---------- ---------- 学生编号 学生姓名 物理成绩 考试时间 学生编号 语文成绩 数学成绩 考试时间 0 mr001 zhuohua 15.0 一月 mr001 110 105 一月 1 mr002 李大杰 20.0 一月 mr002 105 88 二月 2 NaN NaN NaN NaN mr003 109 120 三月 ---------- 学生编号 学生姓名 物理成绩 考试时间_x 学生编号_y 语文 数学 考试时间_y 0 mr001 zhuohua 15.0 一月 mr001 110 105 一月 1 mr002 李大杰 20.0 一月 mr002 105 88 二月 2 NaN NaN NaN NaN mr003 109 120 三月 ---------- 学生姓名 物理成绩 考试时间_x 学生编号_y 语文 数学 考试时间_y 0 zhuohua 15.0 一月 mr001 110 105 一月 1 李大杰 20.0 一月 mr002 105 88 二月 2 NaN NaN NaN mr003 109 120 三月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002'],'学生姓名':['zhuohua','李大杰'], '物理成绩':[15,20], '考试时间':['一月','一月'] }) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'语文成绩':[110,105,109], '数学成绩':[105,88,120],'考试时间':['一月','二月','三月']}) print(df2) print("-" * 10) print("-" * 10) ## 使用concat函数进行横向表数据合并(行对齐): Result_1 = pd.concat([df1,df2],axis=1,join='outer') #使用“outer”时,结果是两个表的并集 print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 物理成绩 考试时间 0 mr001 zhuohua 15 一月 1 mr002 李大杰 20 一月 ---------- 学生编号 语文成绩 数学成绩 考试时间 0 mr001 110 105 一月 1 mr002 105 88 二月 2 mr003 109 120 三月 ---------- ---------- 学生编号 学生姓名 物理成绩 考试时间 学生编号 语文成绩 数学成绩 考试时间 0 mr001 zhuohua 15.0 一月 mr001 110 105 一月 1 mr002 李大杰 20.0 一月 mr002 105 88 二月 2 NaN NaN NaN NaN mr003 109 120 三月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002'],'学生姓名':['zhuohua','李大杰'], '物理成绩':[15,20], '考试时间':['一月','一月'] }) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'语文成绩':[110,105,109], '数学成绩':[105,88,120],'考试时间':['一月','二月','三月']}) print(df2) print("-" * 10) print("-" * 10) ## 使用concat函数进行横向表数据合并(行对齐): Result_1 = pd.concat([df2,df1],axis=1,join='outer') #使用“outer”时,结果是两个表的并集 print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 物理成绩 考试时间 0 mr001 zhuohua 15 一月 1 mr002 李大杰 20 一月 ---------- 学生编号 语文成绩 数学成绩 考试时间 0 mr001 110 105 一月 1 mr002 105 88 二月 2 mr003 109 120 三月 ---------- ---------- 学生编号 语文成绩 数学成绩 考试时间 学生编号 学生姓名 物理成绩 考试时间 0 mr001 110 105 一月 mr001 zhuohua 15.0 一月 1 mr002 105 88 二月 mr002 李大杰 20.0 一月 2 mr003 109 120 三月 NaN NaN NaN NaN C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002'],'学生姓名':['zhuohua','李大杰']}) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'语文成绩':[110,105,109], '数学成绩':[105,88,120],'考试时间':['一月','二月','三月']}) print(df2) print("-" * 10) print("-" * 10) ## 使用concat函数进行横向表数据合并(行对齐): Result_1 = pd.concat([df1,df2],axis=1,join='inner') #使用“inner”时,结果是两个表的交集(结果的行数是以行数少的表为准) print(Result_1) 脚本运行的结果:(两个表的列标题相同时,不会自动给列标题改名) C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 0 mr001 zhuohua 1 mr002 李大杰 ---------- 学生编号 语文成绩 数学成绩 考试时间 0 mr001 110 105 一月 1 mr002 105 88 二月 2 mr003 109 120 三月 ---------- ---------- 学生编号 学生姓名 学生编号 语文成绩 数学成绩 考试时间 0 mr001 zhuohua mr001 110 105 一月 1 mr002 李大杰 mr002 105 88 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr003'],'学生姓名':['zhuohua','李大杰']}) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'语文成绩':[110,105,109], '数学成绩':[105,88,120],'考试时间':['一月','二月','三月']}) print(df2) print("-" * 10) print("-" * 10) ## 使用concat函数进行横向表数据合并(行对齐): Result_1 = pd.concat([df1,df2],axis=1,join='inner') #使用“inner”时,结果是两个表的交集(结果的行数是以行数少的表为准) print(Result_1) 脚本运行的结果:(两个表的列标题相同时,不会自动给列标题改名) C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 0 mr001 zhuohua 1 mr003 李大杰 ---------- 学生编号 语文成绩 数学成绩 考试时间 0 mr001 110 105 一月 1 mr002 105 88 二月 2 mr003 109 120 三月 ---------- ---------- 学生编号 学生姓名 学生编号 语文成绩 数学成绩 考试时间 0 mr001 zhuohua mr001 110 105 一月 1 mr003 李大杰 mr002 105 88 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr003'],'学生姓名':['zhuohua','李大杰']}) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'语文成绩':[110,105,109], '数学成绩':[105,88,120],'考试时间':['一月','二月','三月']}) print(df2) print("-" * 10) print("-" * 10) ## 使用concat函数进行横向表数据合并(行对齐): Result_1 = pd.concat([df2,df1],axis=1,join='inner') #使用“inner”时,结果是两个表的交集(结果的行数是以行数少的表为准) print(Result_1) 脚本运行的结果:(两个表的列标题相同时,不会自动给列标题改名) C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 0 mr001 zhuohua 1 mr003 李大杰 ---------- 学生编号 语文成绩 数学成绩 考试时间 0 mr001 110 105 一月 1 mr002 105 88 二月 2 mr003 109 120 三月 ---------- ---------- 学生编号 语文成绩 数学成绩 考试时间 学生编号 学生姓名 0 mr001 110 105 一月 mr001 zhuohua 1 mr002 105 88 二月 mr003 李大杰 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002'],'学生姓名':['zhuohua','李大杰'], '物理成绩':[15,20], '考试时间':['一月','一月'] }) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'语文成绩':[110,105,109], '数学成绩':[105,88,120],'考试时间':['一月','二月','三月']}) print(df2) print("-" * 10) print("-" * 10) ## 使用concat函数进行横向表数据合并(行对齐): Result_1 = pd.concat([df1,df2],axis=1,join='inner') #使用“inner”时,结果是两个表的交集(结果的行数是以行数少的表为准) print(Result_1) 脚本运行的结果:(两个表的列标题相同时,不会自动给列标题改名) C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 物理成绩 考试时间 0 mr001 zhuohua 15 一月 1 mr002 李大杰 20 一月 ---------- 学生编号 语文成绩 数学成绩 考试时间 0 mr001 110 105 一月 1 mr002 105 88 二月 2 mr003 109 120 三月 ---------- ---------- 学生编号 学生姓名 物理成绩 考试时间 学生编号 语文成绩 数学成绩 考试时间 0 mr001 zhuohua 15 一月 mr001 110 105 一月 1 mr002 李大杰 20 一月 mr002 105 88 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr003'],'学生姓名':['zhuohua','李大杰'], '物理成绩':[15,20], '考试时间':['二月','二月'] }) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'语文成绩':[110,105,109], '数学成绩':[105,88,120],'考试时间':['一月','二月','三月']}) print(df2) print("-" * 10) print("-" * 10) ## 使用concat函数进行横向表数据合并(行对齐): Result_1 = pd.concat([df1,df2],axis=1,join='inner') #使用“inner”时,结果是两个表的交集(结果的行数是以行数少的表为准) print(Result_1) 脚本运行的结果:(两个表的列标题相同时,不会自动给列标题改名) C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 物理成绩 考试时间 0 mr001 zhuohua 15 二月 1 mr003 李大杰 20 二月 ---------- 学生编号 语文成绩 数学成绩 考试时间 0 mr001 110 105 一月 1 mr002 105 88 二月 2 mr003 109 120 三月 ---------- ---------- 学生编号 学生姓名 物理成绩 考试时间 学生编号 语文成绩 数学成绩 考试时间 0 mr001 zhuohua 15 二月 mr001 110 105 一月 1 mr003 李大杰 20 二月 mr002 105 88 二月 C:\Users\jacky\Desktop> Pandas的导出和导入(xls文件): 列出当前环境所有已经安装的第三方库的名称和其版本号: C:\Users\jacky\Desktop>Pip3 freeze et-xmlfile==1.1.0 numpy==1.19.5 openpyxl==3.1.2 pandas==1.1.5 python-dateutil==2.8.2 pytz==2023.3 six==1.16.0 xlrd==1.2.0 xlwt==1.3.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据: df_1 = pd.DataFrame({'姓名':['李大杰','Jacky','zhuohua'], '语文':[110,105,109], '数学':[105,88,120], '英语':[99,115,130],'考试时间':['一月','一月','一月'] }, index=['BH001','BH002','BH003'] #设置索引 ) print(df_1) print("-" * 10) #使用字典创建DataFrame数据: df_2 = pd.DataFrame({'学生编号':['BH001','BH002','BH003'],'姓名':['李大杰','Jacky','zhuohua'], '体育':[34.5,39.7,38],'英语':[9,15,10],'考试时间':['二月','二月','二月']}) df_2 = df_2.set_index(['学生编号']) #设置指定列的数据为索引 print(df_2) print("-" * 10) ## 使用merge函数,根据“姓名”这一列进行数据合并: df_3 = pd.merge(df_1,df_2,on='姓名') print(df_3) print("-" * 10) print("-" * 10) ## 修改df_3的多个行标题: df_3.rename({0:'BH001',1:'BH002',2:'BH003'},axis=0,inplace=True) print(df_3) ## 把结果分别导出到指定的xls文件: df_3.to_excel('文件_1.xls',sheet_name='Sheet页_1',index=False,header=True) #不保留索引(行标题),但保留列标题 df_3.to_excel('C:/Users/jacky/Desktop/文件_mybook_2.xls',sheet_name='Sheet页-1',index=False,header=False) #不保留索引(行标题)、列标题 df_3.to_excel('D:/share/mybook_3.xls',sheet_name='Sheet页1',index=True,header=True) #保留索引(行标题)、列标题 脚本运行的结果:(假如目标文件存在则覆盖,不存在则自动创建) C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语 考试时间 BH001 李大杰 110 105 99 一月 BH002 Jacky 105 88 115 一月 BH003 zhuohua 109 120 130 一月 ---------- 姓名 体育 英语 考试时间 学生编号 BH001 李大杰 34.5 9 二月 BH002 Jacky 39.7 15 二月 BH003 zhuohua 38.0 10 二月 ---------- 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 ---------- ---------- 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y BH001 李大杰 110 105 99 一月 34.5 9 二月 BH002 Jacky 105 88 115 一月 39.7 15 二月 BH003 zhuohua 109 120 130 一月 38.0 10 二月 C:\Users\jacky\Desktop> 在CMD中显示指定目录里的xls文件: C:\Users\jacky\Desktop>dir *.xls 驱动器 C 中的卷没有标签。 卷的序列号是 F66A-70DD C:\Users\jacky\Desktop 的目录 2023/11/04 20:50 5,632 文件_1.xls 2023/11/04 20:50 5,632 文件_mybook_2.xls 2 个文件 11,264 字节 0 个目录 42,568,335,360 可用字节 C:\Users\jacky\Desktop> C:\Users\jacky\Desktop>dir D:\share\*.xls 驱动器 D 中的卷没有标签。 卷的序列号是 E826-50A3 D:\share 的目录 2023/11/04 20:50 5,632 mybook_3.xls 1 个文件 5,632 字节 0 个目录 44,358,090,752 可用字节 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('文件_1.xls') #读取与脚本在同一目录里的Excel文件(.xls) print(df) #显示所有记录 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('文件_1.xls',sheet_name=0) # sheet_name=0 即第一个工作表,省略时就是使用第一个工作表 print(df) #显示所有记录 print("-" * 10) print("-" * 10) print(df.head(2)) #显示前2条记录 print("-" * 10) print("-" * 10) ## 显示前5条记录: Result_3 = df.head(5) print(Result_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 ---------- ---------- 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 ---------- ---------- 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('文件_1.xls',sheet_name='Sheet页_1') # sheet_name='' 指定工作表名称 print(df) print("-" * 10) print("-" * 10) ## 输出所有行的第1列至第5列: df_1 = df.iloc[:,0:5] print(df_1) print("-" * 3) ## 输出所有行的第1列至第5列的前2条记录: df_1 = df.iloc[:,0:5].head(2) print(df_1) print("-" * 10) print("-" * 10) ## 输出所有行的第6列至第8列: df_2 = df.iloc[:,5:8] print(df_2) print("-" * 3) ## 输出所有行的第6列至第8列的前5条记录: df_2 = df.iloc[:,5:8].head(5) print(df_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 ---------- ---------- 姓名 语文 数学 英语_x 考试时间_x 0 李大杰 110 105 99 一月 1 Jacky 105 88 115 一月 2 zhuohua 109 120 130 一月 --- 姓名 语文 数学 英语_x 考试时间_x 0 李大杰 110 105 99 一月 1 Jacky 105 88 115 一月 ---------- ---------- 体育 英语_y 考试时间_y 0 34.5 9 二月 1 39.7 15 二月 2 38.0 10 二月 --- 体育 英语_y 考试时间_y 0 34.5 9 二月 1 39.7 15 二月 2 38.0 10 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('C:/Users/jacky/Desktop/文件_1.xls',sheet_name='Sheet页_1') print(df) print("-" * 10) print("-" * 10) ## 输出所有行的第1列至第5列: df_1 = df.iloc[:,0:5] print(df_1) print("-" * 10) ## 输出所有行的第6列至第8列: df_2 = df.iloc[:,5:8] print(df_2) print("-" * 10) print("-" * 10) print(df.iloc[:,[0]]) #输出第1列的数据 print("-" * 10) ## 使用merge函数,根据索引把第1列、第6列至第8列进行数据合并: df_3 = pd.merge(df.iloc[:,[0]],df_2,right_index=True,left_index=True) print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 ---------- ---------- 姓名 语文 数学 英语_x 考试时间_x 0 李大杰 110 105 99 一月 1 Jacky 105 88 115 一月 2 zhuohua 109 120 130 一月 ---------- 体育 英语_y 考试时间_y 0 34.5 9 二月 1 39.7 15 二月 2 38.0 10 二月 ---------- ---------- 姓名 0 李大杰 1 Jacky 2 zhuohua ---------- 姓名 体育 英语_y 考试时间_y 0 李大杰 34.5 9 二月 1 Jacky 39.7 15 二月 2 zhuohua 38.0 10 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('c:/Users/jacky/Desktop/文件_1.xls',sheet_name='Sheet页_1') print(df) print("-" * 10) print("-" * 10) ## 输出所有行的第1列至第5列: df_1 = df.iloc[:,0:5] print(df_1) print("-" * 10) ## 输出所有行的第6列至第8列: df_2 = df.iloc[:,5:8] print(df_2) print("-" * 10) print("-" * 10) ## 使用merge函数,根据索引进行数据合并: df_3 = pd.merge(df_1,df_2,right_index=True,left_index=True) print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 ---------- ---------- 姓名 语文 数学 英语_x 考试时间_x 0 李大杰 110 105 99 一月 1 Jacky 105 88 115 一月 2 zhuohua 109 120 130 一月 ---------- 体育 英语_y 考试时间_y 0 34.5 9 二月 1 39.7 15 二月 2 38.0 10 二月 ---------- ---------- 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('C:\\Users\\jacky\\Desktop\\文件_1.xls',sheet_name='Sheet页_1') print(df) print("-" * 10) print("-" * 10) ## 输出所有行的第1列至第5列: df_1 = df.iloc[:,0:5] print(df_1) print("-" * 10) ## 输出所有行的第6列至第8列: df_2 = df.iloc[:,5:8] print(df_2) print("-" * 10) print("-" * 10) ## 使用merge函数,根据索引进行数据合并: df_3 = pd.merge(df_2,df_1,right_index=True,left_index=True) print(df_3) print("-" * 10) ## 不输出索引: df_3 = df_3.to_string(index=False) print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 ---------- ---------- 姓名 语文 数学 英语_x 考试时间_x 0 李大杰 110 105 99 一月 1 Jacky 105 88 115 一月 2 zhuohua 109 120 130 一月 ---------- 体育 英语_y 考试时间_y 0 34.5 9 二月 1 39.7 15 二月 2 38.0 10 二月 ---------- ---------- 体育 英语_y 考试时间_y 姓名 语文 数学 英语_x 考试时间_x 0 34.5 9 二月 李大杰 110 105 99 一月 1 39.7 15 二月 Jacky 105 88 115 一月 2 38.0 10 二月 zhuohua 109 120 130 一月 ---------- 体育 英语_y 考试时间_y 姓名 语文 数学 英语_x 考试时间_x 34.5 9 二月 李大杰 110 105 99 一月 39.7 15 二月 Jacky 105 88 115 一月 38.0 10 二月 zhuohua 109 120 130 一月 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('文件_mybook_2.xls',sheet_name='Sheet页-1',header=None) #这里使用了“header=0” print(df) print("-" * 10) print("-" * 10) df.columns = ['姓名','语文','数学','英语_x','考试时间_x','体育','英语_y','考试时间_y'] #自定义列标题 print(df) print("-" * 10) ## 插入一列,列标题为“学生编号”,位置为第1列: Columns_1=['BH001','BH002','BH003'] df.insert(0,'学生编号',Columns_1) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 0 1 2 3 4 5 6 7 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 ---------- ---------- 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 ---------- 学生编号 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 BH001 李大杰 110 105 99 一月 34.5 9 二月 1 BH002 Jacky 105 88 115 一月 39.7 15 二月 2 BH003 zhuohua 109 120 130 一月 38.0 10 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('c:\\Users\\jacky\\Desktop\\文件_mybook_2.xls',sheet_name='Sheet页-1',header=None) #这里使用了“header=0” print(df) print("-" * 10) print("-" * 10) df.columns = ['姓名','语文','数学','英语_x','考试时间_x','体育成绩','英语_y','考试时间_y'] #自定义列标题 print(df) print("-" * 10) ## 插入一列,列标题为“学生编号”,位置为第2列: Columns_1=['BH001','BH002','BH003'] df.insert(1,'学生编号',Columns_1) print(df) print("-" * 10) ## 不输出索引: df = df.to_string(index=False) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 0 1 2 3 4 5 6 7 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 ---------- ---------- 姓名 语文 数学 英语_x 考试时间_x 体育成绩 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 ---------- 姓名 学生编号 语文 数学 英语_x 考试时间_x 体育成绩 英语_y 考试时间_y 0 李大杰 BH001 110 105 99 一月 34.5 9 二月 1 Jacky BH002 105 88 115 一月 39.7 15 二月 2 zhuohua BH003 109 120 130 一月 38.0 10 二月 ---------- 姓名 学生编号 语文 数学 英语_x 考试时间_x 体育成绩 英语_y 考试时间_y 李大杰 BH001 110 105 99 一月 34.5 9 二月 Jacky BH002 105 88 115 一月 39.7 15 二月 zhuohua BH003 109 120 130 一月 38.0 10 二月 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('D:/share/mybook_3.xls',sheet_name='Sheet页1') #导入指定的Excel文件(.xls)的指定工作表 print(df) print("-" * 10) ## 删除列标题为“Unnamed: 0”的数据: df.drop(['Unnamed: 0'],axis=1,inplace=True) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Unnamed: 0 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 BH001 李大杰 110 105 99 一月 34.5 9 二月 1 BH002 Jacky 105 88 115 一月 39.7 15 二月 2 BH003 zhuohua 109 120 130 一月 38.0 10 二月 ---------- 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 李大杰 110 105 99 一月 34.5 9 二月 1 Jacky 105 88 115 一月 39.7 15 二月 2 zhuohua 109 120 130 一月 38.0 10 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('d:/share/mybook_3.xls',sheet_name='Sheet页1') #导入指定的Excel文件(.xls)的指定工作表 print(df) print("-" * 10) df.rename(columns={'Unnamed: 0':'学生编号'},inplace=True) #修改一个列标题 print(df) print("-" * 10) ## 不输出索引: df = df.to_string(index=False) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Unnamed: 0 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 BH001 李大杰 110 105 99 一月 34.5 9 二月 1 BH002 Jacky 105 88 115 一月 39.7 15 二月 2 BH003 zhuohua 109 120 130 一月 38.0 10 二月 ---------- 学生编号 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y 0 BH001 李大杰 110 105 99 一月 34.5 9 二月 1 BH002 Jacky 105 88 115 一月 39.7 15 二月 2 BH003 zhuohua 109 120 130 一月 38.0 10 二月 ---------- 学生编号 姓名 语文 数学 英语_x 考试时间_x 体育 英语_y 考试时间_y BH001 李大杰 110 105 99 一月 34.5 9 二月 BH002 Jacky 105 88 115 一月 39.7 15 二月 BH003 zhuohua 109 120 130 一月 38.0 10 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('D:\\share\\mybook_3.xls',sheet_name='Sheet页1', usecols=['姓名','英语_x','考试时间_x','英语_y','考试时间_y']) # usecols=[] 只输出某几个列的数据 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 姓名 英语_x 考试时间_x 英语_y 考试时间_y 0 李大杰 99 一月 9 二月 1 Jacky 115 一月 15 二月 2 zhuohua 130 一月 10 二月 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('d:\\share\\mybook_3.xls',sheet_name='Sheet页1', usecols=['姓名','英语_y','考试时间_y','英语_x','考试时间_x']) # usecols=[] 只输出某几个列的数据 print(df) print("-" * 10) ## 重新设置各个列的位置: df = df[['姓名','英语_y','考试时间_y','英语_x','考试时间_x']] print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 姓名 英语_x 考试时间_x 英语_y 考试时间_y 0 李大杰 99 一月 9 二月 1 Jacky 115 一月 15 二月 2 zhuohua 130 一月 10 二月 ---------- 姓名 英语_y 考试时间_y 英语_x 考试时间_x 0 李大杰 9 二月 99 一月 1 Jacky 15 二月 115 一月 2 zhuohua 10 二月 130 一月 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.DataFrame({'学生编号':['mr001','mr002','mr003'],'学生姓名':['zhuohua','Jacky','李大杰'], '语文成绩':[34.5,39.7,38]}) print(df1) print("-" * 10) df2 = pd.DataFrame({'学生编号':['mr004','mr005'],'学生姓名':['Happy','Lily'], '语文成绩':[60,70]}) print(df2) print("-" * 10) print("-" * 10) dfs = [df1,df2] ## 使用concat函数进行数据合并,相同字段首尾相接: df3 = pd.concat(dfs,ignore_index=True) #使用“ignore_index=True”时,结果会自动重置索引(索引默认从0开始) print(df3) ## 把结果分别导出到同一个Excel文件(.xls)的不同工作表里: Work_1 = pd.ExcelWriter('D:/mybook-4.xls') df1.to_excel(Work_1,sheet_name='Sheet_1',index=True,header=True) #保留索引(行标题)、列标题 df2.to_excel(Work_1,sheet_name='Sheet-2',index=True,header=True) #保留索引(行标题)、列标题 df3.to_excel(Work_1,sheet_name='Sheet&3',index=True,header=True) #保留索引(行标题)、列标题 Work_1.save() 脚本运行的结果:(假如目标文件存在则覆盖,不存在则自动创建) C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 ---------- 学生编号 学生姓名 语文成绩 0 mr004 Happy 60 1 mr005 Lily 70 ---------- ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 C:\Users\jacky\Desktop> C:\Users\jacky\Desktop>dir D:\*.xls 驱动器 D 中的卷没有标签。 卷的序列号是 E826-50A3 D:\ 的目录 2023/11/04 21:00 5,632 mybook-4.xls 1 个文件 5,632 字节 0 个目录 44,358,082,560 可用字节 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('D:/mybook-4.xls') #导入指定的Excel文件(.xls)的第一个工作表 print(df) print("-" * 10) ## 删除列标题为“Unnamed: 0”的数据: df.drop(['Unnamed: 0'],axis=1,inplace=True) print(df) print("-" * 10) ## 不输出索引: df = df.to_string(index=False) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr001 zhuohua 34.5 1 1 mr002 Jacky 39.7 2 2 mr003 李大杰 38.0 ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 ---------- 学生编号 学生姓名 语文成绩 mr001 zhuohua 34.5 mr002 Jacky 39.7 mr003 李大杰 38.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df_1 = pd.read_excel('D:\\mybook-4.xls',sheet_name=0) # sheet_name=0 即第一个工作表 print(df_1) print("-" * 10) df_2 = pd.read_excel('d:\\mybook-4.xls',sheet_name=1) # sheet_name=1 即第二个工作表 print(df_2) print("-" * 10) df_3 = pd.read_excel('d:/mybook-4.xls',sheet_name=2) # sheet_name=2 即第三个工作表 print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr001 zhuohua 34.5 1 1 mr002 Jacky 39.7 2 2 mr003 李大杰 38.0 ---------- Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr004 Happy 60 1 1 mr005 Lily 70 ---------- Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr001 zhuohua 34.5 1 1 mr002 Jacky 39.7 2 2 mr003 李大杰 38.0 3 3 mr004 Happy 60.0 4 4 mr005 Lily 70.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_excel('D:/mybook-4.xls',sheet_name='Sheet-2') # sheet_name='' 指定工作表名称 print(df) print("-" * 10) ## 只显示指定的列数据: df_1 = df[['学生编号','学生姓名','语文成绩']] print(df_1) print("-" * 10) ## 不输出索引: df = df_1.to_string(index=False) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr004 Happy 60 1 1 mr005 Lily 70 ---------- 学生编号 学生姓名 语文成绩 0 mr004 Happy 60 1 mr005 Lily 70 ---------- 学生编号 学生姓名 语文成绩 mr004 Happy 60 mr005 Lily 70 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df_1 = pd.read_excel('d:\\mybook-4.xls',sheet_name="Sheet_1") print(df_1) print("-" * 10) df_2 = pd.read_excel('D:\\mybook-4.xls',sheet_name=1) print(df_2) print("-" * 10) df_3 = pd.read_excel('D:/mybook-4.xls',sheet_name='Sheet&3') print(df_3) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr001 zhuohua 34.5 1 1 mr002 Jacky 39.7 2 2 mr003 李大杰 38.0 ---------- Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr004 Happy 60 1 1 mr005 Lily 70 ---------- Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr001 zhuohua 34.5 1 1 mr002 Jacky 39.7 2 2 mr003 李大杰 38.0 3 3 mr004 Happy 60.0 4 4 mr005 Lily 70.0 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df_1 = pd.read_excel('d:/mybook-4.xls',sheet_name=0) print(df_1) print("-" * 10) df_2 = pd.read_excel('D:/mybook-4.xls',sheet_name=1) print(df_2) print("-" * 10) df_3 = pd.read_excel("D:\\mybook-4.xls",sheet_name='Sheet&3') print(df_3) print("-" * 10) print("-" * 10) df_4 = pd.DataFrame({'学生姓名':['zhuohua wu','Jacky','李大杰'], '物理成绩':[34.5,39.7,38.5]}) print(df_4) ## 把结果分别导出到同一个Excel文件(.xls)的不同工作表里:(这里相当于把df_4追加到原有的Excel文件中) Work_1 = pd.ExcelWriter('D:/mybook-4.xls') df_1.to_excel(Work_1,sheet_name='Sheet_1',index=False,header=True) #不保留索引(行标题),但保留列标题 df_2.to_excel(Work_1,sheet_name='Sheet-2',index=False,header=True) #不保留索引(行标题),但保留列标题 df_3.to_excel(Work_1,sheet_name='Sheet&3',index=False,header=True) #不保留索引(行标题),但保留列标题 df_4.to_excel(Work_1,sheet_name='工作表4',index=False,header=True) #不保留索引(行标题),但保留列标题 Work_1.save() 脚本运行的结果:(原来的Excel文件会被覆盖) C:\Users\jacky\Desktop>python xx.py Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr001 zhuohua 34.5 1 1 mr002 Jacky 39.7 2 2 mr003 李大杰 38.0 ---------- Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr004 Happy 60 1 1 mr005 Lily 70 ---------- Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr001 zhuohua 34.5 1 1 mr002 Jacky 39.7 2 2 mr003 李大杰 38.0 3 3 mr004 Happy 60.0 4 4 mr005 Lily 70.0 ---------- ---------- 学生姓名 物理成绩 0 zhuohua wu 34.5 1 Jacky 39.7 2 李大杰 38.5 C:\Users\jacky\Desktop> C:\Users\jacky\Desktop>dir d:\*.xls 驱动器 D 中的卷没有标签。 卷的序列号是 E826-50A3 d:\ 的目录 2023/11/04 21:04 5,632 mybook-4.xls 1 个文件 5,632 字节 0 个目录 44,358,082,560 可用字节 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df_1 = pd.read_excel('D:\\mybook-4.xls',sheet_name=0) # sheet_name=0 即第一个工作表 print(df_1) print("-" * 10) df_2 = pd.read_excel('d:\\mybook-4.xls',sheet_name=1) # sheet_name=1 即第二个工作表 print(df_2) print("-" * 10) df_3 = pd.read_excel('D:/mybook-4.xls',sheet_name=2) # sheet_name=2 即第三个工作表 print(df_3) print("-" * 10) df_4 = pd.read_excel('d:/mybook-4.xls',sheet_name=3) # sheet_name=3 即第四个工作表 print(df_4) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr001 zhuohua 34.5 1 1 mr002 Jacky 39.7 2 2 mr003 李大杰 38.0 ---------- Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr004 Happy 60 1 1 mr005 Lily 70 ---------- Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr001 zhuohua 34.5 1 1 mr002 Jacky 39.7 2 2 mr003 李大杰 38.0 3 3 mr004 Happy 60.0 4 4 mr005 Lily 70.0 ---------- 学生姓名 物理成绩 0 zhuohua wu 34.5 1 Jacky 39.7 2 李大杰 38.5 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.read_excel('D:\\mybook-4.xls',sheet_name='Sheet_1') print(df1) print("-" * 10) df2 = pd.read_excel('d:\\mybook-4.xls',sheet_name="Sheet-2") print(df2) print("-" * 10) df3 = pd.read_excel('D:/mybook-4.xls',sheet_name='Sheet&3') print(df3) print("-" * 10) df4 = pd.read_excel('d:/mybook-4.xls',sheet_name='工作表4') print(df4) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr001 zhuohua 34.5 1 1 mr002 Jacky 39.7 2 2 mr003 李大杰 38.0 ---------- Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr004 Happy 60 1 1 mr005 Lily 70 ---------- Unnamed: 0 学生编号 学生姓名 语文成绩 0 0 mr001 zhuohua 34.5 1 1 mr002 Jacky 39.7 2 2 mr003 李大杰 38.0 3 3 mr004 Happy 60.0 4 4 mr005 Lily 70.0 ---------- 学生姓名 物理成绩 0 zhuohua wu 34.5 1 Jacky 39.7 2 李大杰 38.5 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df_1 = pd.read_excel('D:/mybook-4.xls',sheet_name=0) ## 删除df_1的列标题为“Unnamed: 0”的数据: df_1.drop(['Unnamed: 0'],axis=1,inplace=True) print(df_1) print("-" * 10) df_2 = pd.read_excel('D:/mybook-4.xls',sheet_name=1) ## 删除df_2的列标题为“Unnamed: 0”的数据: df_2.drop(['Unnamed: 0'],axis=1,inplace=True) print(df_2) print("-" * 10) df_3 = pd.read_excel('D:/mybook-4.xls',sheet_name="Sheet&3") ## 删除df_3的列标题为“Unnamed: 0”的数据: df_3.drop(['Unnamed: 0'],axis=1,inplace=True) print(df_3) print("-" * 10) df_4 = pd.read_excel('D:/mybook-4.xls',sheet_name='工作表4') print(df_4) print("-" * 10) print("-" * 10) df_5 = pd.Series([88,60.5,'小红']) print(df_5) ## 把结果分别导出到同一个Excel文件(.xls)的不同工作表里:(这里相当于把df_1、df_2、df_3、df_4、df_5写到一个新的Excel文件中) Work_1 = pd.ExcelWriter('d:\\Mybook-5.xls') df_1.to_excel(Work_1,sheet_name='工作表_1',index=False,header=True) #不保留索引(行标题),但保留列标题 df_2.to_excel(Work_1,sheet_name='工作表_2',index=False,header=True) #不保留索引(行标题),但保留列标题 df_3.to_excel(Work_1,sheet_name='工作表_3',index=False,header=True) #不保留索引(行标题),但保留列标题 df_4.to_excel(Work_1,sheet_name='工作表_4',index=False,header=True) #不保留索引(行标题),但保留列标题 df_5.to_excel(Work_1,sheet_name='工作表-5',index=False,header=False) #不保留索引(行标题)、列标题 Work_1.save() 脚本运行的结果:(会自动创建一个新的Excel文件) C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 ---------- 学生编号 学生姓名 语文成绩 0 mr004 Happy 60 1 mr005 Lily 70 ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 ---------- 学生姓名 物理成绩 0 zhuohua wu 34.5 1 Jacky 39.7 2 李大杰 38.5 ---------- ---------- 0 88 1 60.5 2 小红 dtype: object C:\Users\jacky\Desktop> C:\Users\jacky\Desktop>Dir d:\*.xls 驱动器 D 中的卷没有标签。 卷的序列号是 E826-50A3 d:\ 的目录 2023/11/04 21:04 5,632 mybook-4.xls 2023/11/04 21:08 9,728 Mybook-5.xls 2 个文件 15,360 字节 0 个目录 44,358,070,272 可用字节 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df_1 = pd.read_excel('D:/Mybook-5.xls',sheet_name=0) # sheet_name=0 即第一个工作表 print(df_1) print("-" * 10) df_2 = pd.read_excel('D:/Mybook-5.xls',sheet_name=1) # sheet_name=1 即第二个工作表 print(df_2) print("-" * 10) df_3 = pd.read_excel('D:/Mybook-5.xls',sheet_name=2) # sheet_name=2 即第三个工作表 print(df_3) print("-" * 10) df_4 = pd.read_excel("D:/Mybook-5.xls",sheet_name=3) # sheet_name=3 即第四个工作表 print(df_4) print("-" * 10) print("-" * 10) df_5 = pd.read_excel('D:/Mybook-5.xls',sheet_name=4,header=None) # sheet_name=4 即第五个工作表;这里使用了“header=0” print(df_5) print("-" * 3) df_5.columns = ['Title'] #给df_5自定义列标题 print(df_5) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 ---------- 学生编号 学生姓名 语文成绩 0 mr004 Happy 60 1 mr005 Lily 70 ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 ---------- 学生姓名 物理成绩 0 zhuohua wu 34.5 1 Jacky 39.7 2 李大杰 38.5 ---------- ---------- 0 0 88 1 60.5 2 小红 --- Title 0 88 1 60.5 2 小红 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df1 = pd.read_excel('D:/Mybook-5.xls',sheet_name='工作表_1') print(df1) print("-" * 10) df2 = pd.read_excel('D:/Mybook-5.xls',sheet_name='工作表_2') print(df2) print("-" * 10) df3 = pd.read_excel('D:/Mybook-5.xls',sheet_name="工作表_3") print(df3) print("-" * 10) df4 = pd.read_excel("D:/Mybook-5.xls",sheet_name='工作表_4') print(df4) print("-" * 10) print("-" * 10) df_5 = pd.read_excel('D:/Mybook-5.xls',sheet_name='工作表-5',header=None) # 这里使用了“header=0” print(df_5) print("-" * 3) df_5.columns = ['Title'] #给df_5自定义列标题 print(df_5) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 ---------- 学生编号 学生姓名 语文成绩 0 mr004 Happy 60 1 mr005 Lily 70 ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 ---------- 学生姓名 物理成绩 0 zhuohua wu 34.5 1 Jacky 39.7 2 李大杰 38.5 ---------- ---------- 0 0 88 1 60.5 2 小红 --- Title 0 88 1 60.5 2 小红 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df_1 = pd.read_excel('D:/Mybook-5.xls',sheet_name='工作表_3') #导入指定的Excel文件(.xls)的指定工作表 print(df_1) print("-" * 10) print("-" * 10) ## 把结果导出到指定的xlsx文件的指定工作表: df_1.to_excel("D:/Mybook_6.xlsx",sheet_name='工作表_3',index=False,header=True) #不保留索引(行标题),但保留列标题 ## 导入指定的xlsx文件的指定工作表: df_2 = pd.read_excel('D:/Mybook_6.xlsx',sheet_name='工作表_3') print(df_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 ---------- ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df_1 = pd.read_excel('D:/Mybook_6.xlsx',sheet_name=0) #导入指定的Excel文件(.xlsx)的指定工作表 print(df_1) print("-" * 10) print("-" * 10) ## 把结果导出到指定的xls文件的指定工作表: df_1.to_excel("D:/Mybook_6.xls",sheet_name='工作表-3',index=False,header=True) #不保留索引(行标题),但保留列标题 ## 导入指定的xls文件的指定工作表: df_2 = pd.read_excel('D:/Mybook_6.xls',sheet_name='工作表-3') print(df_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 ---------- ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df_1 = pd.read_excel('D:/Mybook-5.xls',sheet_name='工作表_3') #导入指定的Excel文件(.xls)的指定工作表 print(df_1) print("-" * 10) print("-" * 10) ## 把结果导出到指定的csv文件: df_1.to_csv("D:/Mybook_6.csv",sep='\t',index=False,header=True) #不保留索引(行标题),但保留列标题 ## 导入指定的csv文件: df_2 = pd.read_csv('D:/Mybook_6.csv',sep='\t',encoding='utf-8') print(df_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 ---------- ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 C:\Users\jacky\Desktop> 在CMD中显示指定目录里的csv文件: C:\Users\jacky\Desktop>Dir D:\*.csv 驱动器 D 中的卷没有标签。 卷的序列号是 E826-50A3 D:\ 的目录 2023/11/04 21:14 135 Mybook_6.csv 1 个文件 135 字节 0 个目录 44,358,053,888 可用字节 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df_1 = pd.read_csv('D:/Mybook_6.csv',sep='\t',encoding='utf-8') #导入指定的csv文件 print(df_1) print("-" * 10) print("-" * 10) ## 把结果导出到指定的xls文件的指定工作表: df_1.to_excel("D:/Mybook_6.xls",sheet_name='工作表 3',index=False,header=True) #不保留索引(行标题),但保留列标题 ## 导入指定的xls文件的指定工作表: df_2 = pd.read_excel('D:/Mybook_6.xls',sheet_name=0) print(df_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 ---------- ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df_1 = pd.read_excel('D:/Mybook-5.xls',sheet_name='工作表_3') #导入指定的Excel文件(.xls)的指定工作表 print(df_1) print("-" * 10) print("-" * 10) ## 把结果导出到指定的txt文件: df_1.to_csv("D:/Mybook_6.txt",sep='\t',index=False,header=True) #不保留索引(行标题),但保留列标题 ## 导入指定的txt文件: df_2 = pd.read_csv("D:/Mybook_6.txt",sep='\t',encoding='utf-8') print(df_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 ---------- ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df_1 = pd.read_excel('D:/Mybook-5.xls',sheet_name=2) #导入指定的Excel文件(.xls)的指定工作表 ## 把结果导出到指定的txt文件: df_1.to_csv("D:/Mybook-6.txt",sep='\t',index=False,header=True) #不保留索引(行标题),但保留列标题 ## 导入指定的txt文件: df_2 = pd.read_csv("D:/Mybook-6.txt",sep='\t',encoding='utf-8') print(df_2) 脚本运行的结果:(把输出数据写入(覆盖)到指定的文件;假如目标文件存在则覆盖,不存在则自动创建) C:\Users\jacky\Desktop>python xx.py > "d:\Mybook 6.txt" C:\Users\jacky\Desktop> 在CMD中读取指定文件的内容: C:\Users\jacky\Desktop>type "D:\Mybook 6.txt" 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 C:\Users\jacky\Desktop> 在CMD中显示指定目录里的txt文件: C:\Users\jacky\Desktop>dir D:\*.txt 驱动器 D 中的卷没有标签。 卷的序列号是 E826-50A3 D:\ 的目录 2023/11/04 21:17 186 Mybook 6.txt 2023/11/04 21:17 135 Mybook-6.txt 2023/11/04 21:16 135 Mybook_6.txt 3 个文件 456 字节 0 个目录 44,358,053,888 可用字节 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df_1 = pd.read_csv('D:/Mybook_6.txt',sep='\t',encoding='utf-8') #导入指定的txt文件 print(df_1) print("-" * 10) print("-" * 10) ## 把结果导出到指定的xls文件的指定工作表: df_1.to_excel("D:/Mybook_6.xls",sheet_name='工作表 - 3',index=False,header=True) #不保留索引(行标题),但保留列标题 ## 导入指定的xls文件的指定工作表: df_2 = pd.read_excel('D:/Mybook_6.xls',sheet_name='工作表 - 3') print(df_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 ---------- ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df_1 = pd.read_csv('D:/Mybook-6.txt',sep='\t',encoding='utf-8') #导入指定的txt文件 print(df_1) print("-" * 10) print("-" * 10) ## 把结果导出到指定的xls文件的指定工作表: df_1.to_excel("D:/Mybook_6.xls",sheet_name='工作表 & 3',index=False,header=True) #不保留索引(行标题),但保留列标题 ## 导入指定的xls文件的指定工作表: df_2 = pd.read_excel('D:/Mybook_6.xls',sheet_name='工作表 & 3') print(df_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 ---------- ---------- 学生编号 学生姓名 语文成绩 0 mr001 zhuohua 34.5 1 mr002 Jacky 39.7 2 mr003 李大杰 38.0 3 mr004 Happy 60.0 4 mr005 Lily 70.0 C:\Users\jacky\Desktop> 在CMD中显示D盘里的所有文件、目录:(不会延伸到子目录) C:\Users\jacky\Desktop>Dir D:\*.* 驱动器 D 中的卷没有标签。 卷的序列号是 E826-50A3 D:\ 的目录 2023/11/04 21:17 186 Mybook 6.txt 2023/11/04 21:04 5,632 mybook-4.xls 2023/11/04 21:08 9,728 Mybook-5.xls 2023/11/04 21:17 135 Mybook-6.txt 2023/11/04 21:14 135 Mybook_6.csv 2023/11/04 21:16 135 Mybook_6.txt 2023/11/04 21:23 5,632 Mybook_6.xls 2023/11/04 21:11 5,123 Mybook_6.xlsx 2020/05/12 20:41 Python3 2023/11/04 20:50 share 8 个文件 26,706 字节 2 个目录 44,358,053,888 可用字节 C:\Users\jacky\Desktop> 在CMD中显示指定目录里的所有文件、目录:(不会延伸到子目录) C:\Users\jacky\Desktop>Dir D:\share\*.* 驱动器 D 中的卷没有标签。 卷的序列号是 E826-50A3 D:\share 的目录 2023/11/04 20:50 . 2023/11/04 20:50 .. 2023/11/04 20:50 5,632 mybook_3.xls 1 个文件 5,632 字节 2 个目录 44,358,053,888 可用字节 C:\Users\jacky\Desktop> 相关文章: Pandas的基础 Pandas的数据转换




欢迎光临 blog.zhuohua.store (http://blog.zhuohua.store/) Powered by Discuz! 7.2