Board logo

标题: Pandas的进阶(三) [打印本页]

作者: admin    时间: 2023-9-16 20:13     标题: Pandas的进阶(三)

###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[111,105,99.5], '数学成绩':[106,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) df['各行的平均成绩'] = df.mean(axis=1) #按行求平均值 #print(df) print("各行的平均值:") df = df['各行的平均成绩'] print(df) print("-" * 10) print("各行的平均值:(结果不保留小数)") df_0 = df.astype(int) #不保留小数 print(df_0) print("-" * 10) print("各行的平均值:(结果只保留一位小数)") df_1 = df.round(1) #保留一位小数 print(df_1) print("-" * 10) print("各行的平均值:(结果只保留两位小数)") df_2 = df.round(2) #保留两位小数 print(df_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 111.0 106 109 三年一班 Jacky 105.0 88 120 三年二班 zhuohua 99.5 115 130 三年二班 ---------- ---------- 各行的平均值: 李大杰 108.666667 Jacky 104.333333 zhuohua 114.833333 Name: 各行的平均成绩, dtype: float64 ---------- 各行的平均值:(结果不保留小数) 李大杰 108 Jacky 104 zhuohua 114 Name: 各行的平均成绩, dtype: int32 ---------- 各行的平均值:(结果只保留一位小数) 李大杰 108.7 Jacky 104.3 zhuohua 114.8 Name: 各行的平均成绩, dtype: float64 ---------- 各行的平均值:(结果只保留两位小数) 李大杰 108.67 Jacky 104.33 zhuohua 114.83 Name: 各行的平均成绩, dtype: float64 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[110,105,109.652], '数学成绩':[105.54,88.46,120.652], '英语成绩':[109.436,120.54,129.655], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) df['各行的平均成绩'] = df.mean(axis=1) #按行求平均值 print(df) print("-" * 10) df['语文成绩'] = df['语文成绩'].astype(int) #列标题为“语文成绩”的数据不保留小数 print(df) print("-" * 10) ## 列标题为“数学成绩”的数据保留一位小数,列标题为“英语成绩”的数据保留两位小数: df = df.round({'数学成绩':1,'英语成绩':2}) print(df) print("-" * 10) ## 删除列标题为“语文成绩”的数据: df.drop(['语文成绩'],axis=1,inplace=True) #print(df) ## 列标题为“各行的平均成绩”的数据保留三位小数: df = df.round({'各行的平均成绩':3}) print(df) print("-" * 10) ## 一次性删除列标题为“英语成绩”、“数学成绩”、“班级”的数据: df.drop(['英语成绩','数学成绩','班级'],axis=1,inplace=True) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 110.000 105.540 109.436 三年一班 Jacky 105.000 88.460 120.540 三年二班 zhuohua 109.652 120.652 129.655 三年二班 ---------- ---------- 语文成绩 数学成绩 英语成绩 班级 各行的平均成绩 李大杰 110.000 105.540 109.436 三年一班 108.325333 Jacky 105.000 88.460 120.540 三年二班 104.666667 zhuohua 109.652 120.652 129.655 三年二班 119.986333 ---------- 语文成绩 数学成绩 英语成绩 班级 各行的平均成绩 李大杰 110 105.540 109.436 三年一班 108.325333 Jacky 105 88.460 120.540 三年二班 104.666667 zhuohua 109 120.652 129.655 三年二班 119.986333 ---------- 语文成绩 数学成绩 英语成绩 班级 各行的平均成绩 李大杰 110 105.5 109.44 三年一班 108.325333 Jacky 105 88.5 120.54 三年二班 104.666667 zhuohua 109 120.7 129.66 三年二班 119.986333 ---------- 数学成绩 英语成绩 班级 各行的平均成绩 李大杰 105.5 109.44 三年一班 108.325 Jacky 88.5 120.54 三年二班 104.667 zhuohua 120.7 129.66 三年二班 119.986 ---------- 各行的平均成绩 李大杰 108.325 Jacky 104.667 zhuohua 119.986 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[111,105,99.5], '数学成绩':[106,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) dict1 = {'语文成绩':'语文+数学','数学成绩':'语文+数学','英语成绩':'英语成绩'} #使用字典进行分组统计 df = df.groupby(dict1,axis=1).sum() #把字典的键值对里相同值名的键进行求和 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 111.0 106 109 三年一班 Jacky 105.0 88 120 三年二班 zhuohua 99.5 115 130 三年二班 ---------- ---------- 英语成绩 语文+数学 李大杰 109 217.0 Jacky 120 193.0 zhuohua 130 214.5 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[111,105,99.5], '数学成绩':[106,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) dict1 = {'语文成绩':'语文+数学','数学成绩':'语文+数学','班级':'班级','英语成绩':'英语成绩'} #使用字典进行分组统计 df = df.groupby(dict1,axis=1).sum() #把字典的键值对里相同值名的键进行求和 print(df) print("-" * 10) print("只输出三年一班的行数据:") Result_1 = df.loc[(df['班级']=='三年一班')] print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 111.0 106 109 三年一班 Jacky 105.0 88 120 三年二班 zhuohua 99.5 115 130 三年二班 ---------- ---------- 班级 英语成绩 语文+数学 李大杰 三年一班 109 217.0 Jacky 三年二班 120 193.0 zhuohua 三年二班 130 214.5 ---------- 只输出三年一班的行数据: 班级 英语成绩 语文+数学 李大杰 三年一班 109 217.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[111,105,99.5], '数学成绩':[106,88,115], '英语成绩':[109,120,130], '物理成绩':[19,12,13], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) dict1 = {'语文成绩':'语文+数学','数学成绩':'语文+数学','班级':'班级','英语成绩':'英语+物理','物理成绩':'英语+物理'} #使用字典进行分组统计 df = df.groupby(dict1,axis=1).sum() #把字典的键值对里相同值名的键进行求和 print(df) print("-" * 10) print("只输出三年二班的行数据:") Result_1 = df.loc[(df['班级'] == '三年二班')] print(Result_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 物理成绩 班级 李大杰 111.0 106 109 19 三年一班 Jacky 105.0 88 120 12 三年二班 zhuohua 99.5 115 130 13 三年二班 ---------- ---------- 班级 英语+物理 语文+数学 李大杰 三年一班 128 217.0 Jacky 三年二班 132 193.0 zhuohua 三年二班 143 214.5 ---------- 只输出三年二班的行数据: 班级 英语+物理 语文+数学 Jacky 三年二班 132 193.0 zhuohua 三年二班 143 214.5 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[111,105,99.5], '数学成绩1':[106,120,115], '数学成绩2':[109,110,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) df['两次数学成绩的升降情况'] = df['数学成绩2'] - df['数学成绩1'] print(df) print("-" * 10) ## 只输出“数学成绩1”、“数学成绩2”、“两次数学成绩的升降情况”的列数据: print(df[['数学成绩1','数学成绩2','两次数学成绩的升降情况']]) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩1 数学成绩2 班级 李大杰 111.0 106 109 三年一班 Jacky 105.0 120 110 三年二班 zhuohua 99.5 115 130 三年二班 ---------- ---------- 语文成绩 数学成绩1 数学成绩2 班级 两次数学成绩的升降情况 李大杰 111.0 106 109 三年一班 3 Jacky 105.0 120 110 三年二班 -10 zhuohua 99.5 115 130 三年二班 15 ---------- 数学成绩1 数学成绩2 两次数学成绩的升降情况 李大杰 106 109 3 Jacky 120 110 -10 zhuohua 115 130 15 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[111,105,99.5], '数学成绩1':[106,120,115.5], '数学成绩2':[109,110,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) df['两次数学成绩的升降情况'] = df['数学成绩2'] - df['数学成绩1'] print(df) print("-" * 10) ## 只输出“数学成绩1”、“数学成绩2”、“两次数学成绩的升降情况”、“班级”的列数据: Result_1 = df[['数学成绩1','数学成绩2','两次数学成绩的升降情况','班级']] print(Result_1) print("-" * 10) print("只输出三年二班的行数据:") Key_2 = '三年二班' Result_2 = Result_1.loc[(df['班级'] == Key_2)] print(Result_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩1 数学成绩2 班级 李大杰 111.0 106.0 109 三年一班 Jacky 105.0 120.0 110 三年二班 zhuohua 99.5 115.5 130 三年二班 ---------- ---------- 语文成绩 数学成绩1 数学成绩2 班级 两次数学成绩的升降情况 李大杰 111.0 106.0 109 三年一班 3.0 Jacky 105.0 120.0 110 三年二班 -10.0 zhuohua 99.5 115.5 130 三年二班 14.5 ---------- 数学成绩1 数学成绩2 两次数学成绩的升降情况 班级 李大杰 106.0 109 3.0 三年一班 Jacky 120.0 110 -10.0 三年二班 zhuohua 115.5 130 14.5 三年二班 ---------- 只输出三年二班的行数据: 数学成绩1 数学成绩2 两次数学成绩的升降情况 班级 Jacky 120.0 110 -10.0 三年二班 zhuohua 115.5 130 14.5 三年二班 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[0.349951,0.359951,0.379951], '数学成绩':[0.349951,0.350151,0.370141], '英语成绩':[0.349951,0.350151,0.370141], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) df['语文成绩的百分比']=df['语文成绩'].apply(lambda x: format(x,'.0%')) #使用apply函数求百分比且整列保留0位小数 print(df) ## 删除列标题为“班级”的数据: df.drop(['班级'],axis=1,inplace=True) #print(df) print("-" * 10) df['数学成绩的百分比'] = df['数学成绩'].apply(lambda x: format(x,'.2%')) #使用apply函数求百分比且整列保留两位小数 print(df) print("-" * 10) ## 只输出“语文成绩”、“语文成绩的百分比”的列数据: print(df[['语文成绩','语文成绩的百分比']]) print("-" * 10) ## 只输出“数学成绩”、“数学成绩的百分比”的列数据: Result_2 = df[['数学成绩','数学成绩的百分比']] print(Result_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 0.349951 0.349951 0.349951 三年一班 Jacky 0.359951 0.350151 0.350151 三年二班 zhuohua 0.379951 0.370141 0.370141 三年二班 ---------- ---------- 语文成绩 数学成绩 英语成绩 班级 语文成绩的百分比 李大杰 0.349951 0.349951 0.349951 三年一班 35% Jacky 0.359951 0.350151 0.350151 三年二班 36% zhuohua 0.379951 0.370141 0.370141 三年二班 38% ---------- 语文成绩 数学成绩 英语成绩 语文成绩的百分比 数学成绩的百分比 李大杰 0.349951 0.349951 0.349951 35% 35.00% Jacky 0.359951 0.350151 0.350151 36% 35.02% zhuohua 0.379951 0.370141 0.370141 38% 37.01% ---------- 语文成绩 语文成绩的百分比 李大杰 0.349951 35% Jacky 0.359951 36% zhuohua 0.379951 38% ---------- 数学成绩 数学成绩的百分比 李大杰 0.349951 35.00% Jacky 0.350151 35.02% zhuohua 0.370141 37.01% C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[0.349951,0.359951,0.379951], '数学成绩':[0.349951,0.350151,0.370141], '英语成绩':[0.349951,0.350151,1.370141], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) df['语文成绩的百分比']=df['语文成绩'].map(lambda x:'{:.0%}'.format(x)) #使用map函数求百分比且整列保留0位小数 print(df) print("-" * 10) df['英语成绩的百分比'] = df['英语成绩'].map(lambda x:'{:.2%}'.format(x)) #使用map函数求百分比且整列保留两位小数 print(df) print("-" * 10) ## 输出“语文成绩”至“班级”的列数据: Result_1 = df.loc[:,'语文成绩':'班级':] print(Result_1) print("-" * 10) ## 输出“班级”至“英语成绩的百分比”的列数据: Result_2 = df.loc[:,'班级':'英语成绩的百分比':] print(Result_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 0.349951 0.349951 0.349951 三年一班 Jacky 0.359951 0.350151 0.350151 三年二班 zhuohua 0.379951 0.370141 1.370141 三年二班 ---------- ---------- 语文成绩 数学成绩 英语成绩 班级 语文成绩的百分比 李大杰 0.349951 0.349951 0.349951 三年一班 35% Jacky 0.359951 0.350151 0.350151 三年二班 36% zhuohua 0.379951 0.370141 1.370141 三年二班 38% ---------- 语文成绩 数学成绩 英语成绩 班级 语文成绩的百分比 英语成绩的百分比 李大杰 0.349951 0.349951 0.349951 三年一班 35% 35.00% Jacky 0.359951 0.350151 0.350151 三年二班 36% 35.02% zhuohua 0.379951 0.370141 1.370141 三年二班 38% 137.01% ---------- 语文成绩 数学成绩 英语成绩 班级 李大杰 0.349951 0.349951 0.349951 三年一班 Jacky 0.359951 0.350151 0.350151 三年二班 zhuohua 0.379951 0.370141 1.370141 三年二班 ---------- 班级 语文成绩的百分比 英语成绩的百分比 李大杰 三年一班 35% 35.00% Jacky 三年二班 36% 35.02% zhuohua 三年二班 38% 137.01% C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[11000,105,1199.5], '数学成绩':[11105,1188.5,115], '英语成绩':[109,12011,13000], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) print('给“语文成绩”设置千位分隔符:') df['语文成绩'] = df['语文成绩'].apply(lambda x: format(int(x), ',')) #不保留小数点部分 print(df) print("-" * 3) print("“zhuohua”的“语文成绩”的值:") Key_1 = df.loc['zhuohua','语文成绩'] print(Key_1) print(type(Key_1)) print("-" * 10) print("第2行第1列的值:") print(df.iloc[1,0]) #输出第2行第1列的值 print(type(df.iloc[1,0])) 脚本运行的结果:(设置千位分隔符后的数据,将不再是数值型,而是字符串) C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 11000.0 11105.0 109 三年一班 Jacky 105.0 1188.5 12011 三年二班 zhuohua 1199.5 115.0 13000 三年二班 ---------- ---------- 给“语文成绩”设置千位分隔符: 语文成绩 数学成绩 英语成绩 班级 李大杰 11,000 11105.0 109 三年一班 Jacky 105 1188.5 12011 三年二班 zhuohua 1,199 115.0 13000 三年二班 --- “zhuohua”的“语文成绩”的值: 1,199 ---------- 第2行第1列的值: 105 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[11000,105,1199.5], '数学成绩':[11105,1188.5,115], '英语成绩':[109,12011,13000], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) print('给“数学成绩”设置千位分隔符:') df['数学成绩'] = df['数学成绩'].apply(lambda x: format(float(x), ',')) #保留小数点部分 print(df) print("-" * 10) print("“Jacky”的“数学成绩”的值:") Key_2 = df.loc['Jacky','数学成绩'] print(Key_2) print(type(Key_2)) print("-" * 10) print("第3行第2列的值:") print(df.iloc[2,1]) #输出第3行第2列的值 print(type(df.iloc[2,1])) 脚本运行的结果:(设置千位分隔符后的数据,将不再是数值型,而是字符串) C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 11000.0 11105.0 109 三年一班 Jacky 105.0 1188.5 12011 三年二班 zhuohua 1199.5 115.0 13000 三年二班 ---------- ---------- 给“数学成绩”设置千位分隔符: 语文成绩 数学成绩 英语成绩 班级 李大杰 11000.0 11,105.0 109 三年一班 Jacky 105.0 1,188.5 12011 三年二班 zhuohua 1199.5 115.0 13000 三年二班 ---------- “Jacky”的“数学成绩”的值: 1,188.5 ---------- 第3行第2列的值: 115.0 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[110,105,99.5], '数学成绩':[105,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) print('按“班级”分组后,输出各个分组中的数据:') for name,group in df.groupby('班级'): print(name) print(group) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 110.0 105 109 三年一班 Jacky 105.0 88 120 三年二班 zhuohua 99.5 115 130 三年二班 ---------- ---------- 按“班级”分组后,输出各个分组中的数据: 三年一班 语文成绩 数学成绩 英语成绩 班级 李大杰 110.0 105 109 三年一班 三年二班 语文成绩 数学成绩 英语成绩 班级 Jacky 105.0 88 120 三年二班 zhuohua 99.5 115 130 三年二班 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[110,105,99.5], '数学成绩':[105,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) ## 删除列标题为“语文成绩”的数据: df.drop(['语文成绩'],axis=1,inplace=True) print(df) print("-" * 10) print("-" * 10) print('按“班级”分组后,输出各个分组中的数据:') for name,group in df.groupby('班级'): print(name) print(group) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 110.0 105 109 三年一班 Jacky 105.0 88 120 三年二班 zhuohua 99.5 115 130 三年二班 ---------- 数学成绩 英语成绩 班级 李大杰 105 109 三年一班 Jacky 88 120 三年二班 zhuohua 115 130 三年二班 ---------- ---------- 按“班级”分组后,输出各个分组中的数据: 三年一班 数学成绩 英语成绩 班级 李大杰 105 109 三年一班 三年二班 数学成绩 英语成绩 班级 Jacky 88 120 三年二班 zhuohua 115 130 三年二班 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[110,105,99.5], '数学成绩':[105,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) ## 一次性删除列标题为“英语成绩”、“数学成绩”的数据: df.drop(['英语成绩','数学成绩'],axis=1,inplace=True) print(df) print("-" * 10) print("分别输出各班级的“语文成绩”的平均成绩:") ## 按“班级”进行分组后求平均值:(按一列分组统计) df = df.groupby('班级').mean() print(df) print("-" * 3) df.sort_values(by='语文成绩',ascending=True, inplace=True) #按“语文成绩”进行排序(升序) print(df) print("-" * 3) df = df.round(1) #结果只保留一位小数 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 110.0 105 109 三年一班 Jacky 105.0 88 120 三年二班 zhuohua 99.5 115 130 三年二班 ---------- ---------- 语文成绩 班级 李大杰 110.0 三年一班 Jacky 105.0 三年二班 zhuohua 99.5 三年二班 ---------- 分别输出各班级的“语文成绩”的平均成绩: 语文成绩 班级 三年一班 110.00 三年二班 102.25 --- 语文成绩 班级 三年二班 102.25 三年一班 110.00 --- 语文成绩 班级 三年二班 102.2 三年一班 110.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[110,105,99.5], '数学成绩':[105,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) print("分别输出各班级的“语文成绩”的平均成绩:") ## 按“班级”进行分组后,求“语文成绩”的平均值:(按一列分组统计) df = df.groupby('班级')['语文成绩'].mean() print(df) print("-" * 3) df.sort_values(ascending=True, inplace=True) #进行排序(升序) print(df) print("-" * 3) df.sort_values(ascending=False, inplace=True) #进行排序(降序) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 110.0 105 109 三年一班 Jacky 105.0 88 120 三年二班 zhuohua 99.5 115 130 三年二班 ---------- ---------- 分别输出各班级的“语文成绩”的平均成绩: 班级 三年一班 110.00 三年二班 102.25 Name: 语文成绩, dtype: float64 --- 班级 三年二班 102.25 三年一班 110.00 Name: 语文成绩, dtype: float64 --- 班级 三年一班 110.00 三年二班 102.25 Name: 语文成绩, dtype: float64 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[110,105,99.5], '数学成绩':[105,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) print("分别输出各班级的“语文成绩”的平均成绩、总和:") ## 按“班级”进行分组后,求“语文成绩”的平均值、总和:(按一列分组统计) df = df.groupby('班级').agg({'语文成绩':['mean','sum']}) print(df) print("-" * 10) df.rename(columns={'mean':'平均值','sum':'总和'},inplace=True) #修改多个列标题 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 110.0 105 109 三年一班 Jacky 105.0 88 120 三年二班 zhuohua 99.5 115 130 三年二班 ---------- ---------- 分别输出各班级的“语文成绩”的平均成绩、总和: 语文成绩 mean sum 班级 三年一班 110.00 110.0 三年二班 102.25 204.5 ---------- 语文成绩 平均值 总和 班级 三年一班 110.00 110.0 三年二班 102.25 204.5 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[110,105,99.5], '数学成绩':[105,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) print("分别输出各班级的“语文成绩”的平均成绩、总和:") ## 按“班级”进行分组后,求“语文成绩”的平均值、总和:(按一列分组统计) df_1 = df.groupby('班级').agg({'语文成绩':['mean','sum']}) print(df_1) print("-" * 10) df_1.rename(columns={'mean':'平均值','sum':'总和'},inplace=True) #修改多个列标题 print(df_1) print("-" * 10) print("-" * 10) print("再分别输出各班级的“英语成绩”的总和:") ## 按“班级”进行分组后,求“英语成绩”的总和::(按一列分组统计) df_2 = df.groupby('班级').agg({'英语成绩':['sum']}) print(df_2) print("-" * 10) df_2.rename(columns={'sum':'总和2'},inplace=True) #修改一个列标题 print(df_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 110.0 105 109 三年一班 Jacky 105.0 88 120 三年二班 zhuohua 99.5 115 130 三年二班 ---------- ---------- 分别输出各班级的“语文成绩”的平均成绩、总和: 语文成绩 mean sum 班级 三年一班 110.00 110.0 三年二班 102.25 204.5 ---------- 语文成绩 平均值 总和 班级 三年一班 110.00 110.0 三年二班 102.25 204.5 ---------- ---------- 再分别输出各班级的“英语成绩”的总和: 英语成绩 sum 班级 三年一班 109 三年二班 250 ---------- 英语成绩 总和2 班级 三年一班 109 三年二班 250 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[110,105,99.5], '数学成绩':[105,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) print("分别输出各班级的“语文成绩”的平均成绩、总和,以及“英语成绩”的总和:") ## 按“班级”进行分组后,求“语文成绩”的平均值、总和,以及“英语成绩”的总和:(按一列分组统计) df = df.groupby('班级').agg({'语文成绩':['mean','sum'],'英语成绩':['sum']}) print(df) print("-" * 10) df.rename(columns={'mean':'平均值','sum':'总和'},inplace=True) #修改多个列标题 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 110.0 105 109 三年一班 Jacky 105.0 88 120 三年二班 zhuohua 99.5 115 130 三年二班 ---------- ---------- 分别输出各班级的“语文成绩”的平均成绩、总和,以及“英语成绩”的总和: 语文成绩 英语成绩 mean sum sum 班级 三年一班 110.00 110.0 109 三年二班 102.25 204.5 250 ---------- 语文成绩 英语成绩 平均值 总和 总和 班级 三年一班 110.00 110.0 109 三年二班 102.25 204.5 250 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[110,105,99.5], '数学成绩':[105,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) print("分别输出各班级的“语文成绩”的最大值、最小值:") ## 按“班级”进行分组后,求“语文成绩”的最大值、最小值:(按一列分组统计) df = df.groupby('班级').agg({'语文成绩':['max','min']}) print(df) print("-" * 10) df.rename(columns={'max':'最大值'},inplace=True) #修改一个列标题 print(df) print("-" * 3) df.rename(columns={'min':'最小值'},inplace=True) #再修改一个列标题 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 110.0 105 109 三年一班 Jacky 105.0 88 120 三年二班 zhuohua 99.5 115 130 三年二班 ---------- ---------- 分别输出各班级的“语文成绩”的最大值、最小值: 语文成绩 max min 班级 三年一班 110.0 110.0 三年二班 105.0 99.5 ---------- 语文成绩 最大值 min 班级 三年一班 110.0 110.0 三年二班 105.0 99.5 --- 语文成绩 最大值 最小值 班级 三年一班 110.0 110.0 三年二班 105.0 99.5 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[99.5,110,110], '数学成绩':[105,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) print("“语文成绩”那一列中出现次数最多的值:") max1 = lambda x:x.value_counts(dropna=False).index[0] df_1 = df.agg({'语文成绩':[max1]}) print(df_1) print("-" * 10) print("“班级”那一列中出现次数最多的值:") max2 = lambda x:x.value_counts(dropna=False).index[0] df_2 = df.agg({'班级':[max2]}) print(df_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 99.5 105 109 三年一班 Jacky 110.0 88 120 三年二班 zhuohua 110.0 115 130 三年二班 ---------- ---------- “语文成绩”那一列中出现次数最多的值: 语文成绩 110.0 ---------- “班级”那一列中出现次数最多的值: 班级 三年二班 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[99.5,110,110], '数学成绩':[105,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) max1 = lambda x:x.value_counts(dropna=False).index[0] max1.__name__ = '“语文成绩”那一列中出现次数最多的值:' df_1 = df.agg({'语文成绩':[max1]}) print(df_1) print("-" * 10) max2 = lambda x:x.value_counts(dropna=False).index[0] max2.__name__ = '“班级”那一列中出现次数最多的值:' df_2 = df.agg({'班级':[max2]}) print(df_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 99.5 105 109 三年一班 Jacky 110.0 88 120 三年二班 zhuohua 110.0 115 130 三年二班 ---------- ---------- 语文成绩 “语文成绩”那一列中出现次数最多的值: 110.0 ---------- 班级 “班级”那一列中出现次数最多的值: 三年二班 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[99.5,110,110], '数学成绩':[105,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) print("各班级的“语文成绩”那一列中出现次数最多的值:") max1 = lambda x:x.value_counts(dropna=False).index[0] ## 按“班级”进行分组后,求“语文成绩”那一列中出现次数最多的值:(按一列分组统计) df_1 = df.groupby('班级').agg({'语文成绩':[max1]}) print(df_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 99.5 105 109 三年一班 Jacky 110.0 88 120 三年二班 zhuohua 110.0 115 130 三年二班 ---------- ---------- 各班级的“语文成绩”那一列中出现次数最多的值: 语文成绩 班级 三年一班 99.5 三年二班 110.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[99.5,110,110], '数学成绩':[105,88,115], '英语成绩':[109,120,120], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) max1 = lambda x:x.value_counts(dropna=False).index[0] max1.__name__ = '各班级的“英语成绩”那一列中出现次数最多的值:' ## 按“班级”进行分组后,求“英语成绩”那一列中出现次数最多的值:(按一列分组统计) df_1 = df.groupby('班级').agg({'英语成绩':[max1]}) print(df_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 99.5 105 109 三年一班 Jacky 110.0 88 120 三年二班 zhuohua 110.0 115 120 三年二班 ---------- ---------- 英语成绩 各班级的“英语成绩”那一列中出现次数最多的值: 班级 三年一班 109 三年二班 120 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_data=[[110,105,99,'三年一班','三年级'],[66,77,99,'三年一班','三年级'], [108,88,115,'三年二班','三年级'],[115,28,65,'三年二班','三年级'], [109,120,129.5,'四年一班','四年级']] Key_index=['李大杰','小红','Jacky','Lily','zhuohua wu'] Key_columns=['语文成绩','数学成绩','英语成绩','班级','年级'] df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据 print(df) print("-" * 10) print("-" * 10) print('按“年级”分组后,输出各个分组中的数据:') for name,group in df.groupby('年级'): print(name) print(group) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 年级 李大杰 110 105 99.0 三年一班 三年级 小红 66 77 99.0 三年一班 三年级 Jacky 108 88 115.0 三年二班 三年级 Lily 115 28 65.0 三年二班 三年级 zhuohua wu 109 120 129.5 四年一班 四年级 ---------- ---------- 按“年级”分组后,输出各个分组中的数据: 三年级 语文成绩 数学成绩 英语成绩 班级 年级 李大杰 110 105 99.0 三年一班 三年级 小红 66 77 99.0 三年一班 三年级 Jacky 108 88 115.0 三年二班 三年级 Lily 115 28 65.0 三年二班 三年级 四年级 语文成绩 数学成绩 英语成绩 班级 年级 zhuohua wu 109 120 129.5 四年一班 四年级 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_data=[[110,105,99,'三年一班','三年级'],[66,77,99,'三年一班','三年级'], [108,88,115,'三年二班','三年级'],[115,28,65,'三年二班','三年级'], [109,120,129.5,'四年一班','四年级']] Key_index=['李大杰','小红','Jacky','Lily','zhuohua wu'] Key_columns=['语文成绩','数学成绩','英语成绩','班级','年级'] df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据 print(df) print("-" * 10) ## 一次性删除列标题为“英语成绩”、“数学成绩”的数据: df.drop(['英语成绩','数学成绩'],axis=1,inplace=True) print(df) print("-" * 10) print("-" * 10) print('按“年级”分组后,输出各个分组中的数据:') for name,group in df.groupby('年级'): print(name) print(group) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 年级 李大杰 110 105 99.0 三年一班 三年级 小红 66 77 99.0 三年一班 三年级 Jacky 108 88 115.0 三年二班 三年级 Lily 115 28 65.0 三年二班 三年级 zhuohua wu 109 120 129.5 四年一班 四年级 ---------- 语文成绩 班级 年级 李大杰 110 三年一班 三年级 小红 66 三年一班 三年级 Jacky 108 三年二班 三年级 Lily 115 三年二班 三年级 zhuohua wu 109 四年一班 四年级 ---------- ---------- 按“年级”分组后,输出各个分组中的数据: 三年级 语文成绩 班级 年级 李大杰 110 三年一班 三年级 小红 66 三年一班 三年级 Jacky 108 三年二班 三年级 Lily 115 三年二班 三年级 四年级 语文成绩 班级 年级 zhuohua wu 109 四年一班 四年级 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_data=[[110,105,99,'三年一班','三年级'],[66,77,99,'三年二班','三年级'], [108,88,115,'三年一班','三年级'],[115,28,65,'三年二班','三年级'], [109,120,129.5,'四年一班','四年级']] Key_index=['李大杰','小红','Jacky','Lily','zhuohua wu'] Key_columns=['语文成绩','数学成绩','英语成绩','班级','年级'] df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据 print(df) print("-" * 10) print("-" * 10) print('按“年级”、“班级”分组后,输出各个分组中的数据:') for (key1,key2),group in df.groupby(['年级','班级']): print(key1,key2) print(group) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 年级 李大杰 110 105 99.0 三年一班 三年级 小红 66 77 99.0 三年二班 三年级 Jacky 108 88 115.0 三年一班 三年级 Lily 115 28 65.0 三年二班 三年级 zhuohua wu 109 120 129.5 四年一班 四年级 ---------- ---------- 按“年级”、“班级”分组后,输出各个分组中的数据: 三年级 三年一班 语文成绩 数学成绩 英语成绩 班级 年级 李大杰 110 105 99.0 三年一班 三年级 Jacky 108 88 115.0 三年一班 三年级 三年级 三年二班 语文成绩 数学成绩 英语成绩 班级 年级 小红 66 77 99.0 三年二班 三年级 Lily 115 28 65.0 三年二班 三年级 四年级 四年一班 语文成绩 数学成绩 英语成绩 班级 年级 zhuohua wu 109 120 129.5 四年一班 四年级 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_data=[[110,105,99,'三年一班','三年级'],[66,77,99,'三年二班','三年级'], [108,88,115,'三年一班','三年级'],[115,28,65,'三年二班','三年级'], [109,120,129.5,'四年一班','四年级']] Key_index=['李大杰','小红','Jacky','Lily','zhuohua wu'] Key_columns=['语文成绩','数学成绩','英语成绩','班级','年级'] df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据 print(df) print("-" * 10) print("-" * 10) ## 一次性删除列标题为“英语成绩”、“数学成绩”的数据: df.drop(['英语成绩','数学成绩'],axis=1,inplace=True) print(df) print("-" * 10) print("分别输出各班级的“语文成绩”的平均成绩:") ## 先按“年级”进行分组,再按“班级”进行分组后,求平均值:(按多列分组统计) df = df.groupby(['年级','班级']).mean() print(df) print("-" * 3) df.sort_values(by='语文成绩',ascending=True, inplace=True) #按“语文成绩”进行排序(升序) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 年级 李大杰 110 105 99.0 三年一班 三年级 小红 66 77 99.0 三年二班 三年级 Jacky 108 88 115.0 三年一班 三年级 Lily 115 28 65.0 三年二班 三年级 zhuohua wu 109 120 129.5 四年一班 四年级 ---------- ---------- 语文成绩 班级 年级 李大杰 110 三年一班 三年级 小红 66 三年二班 三年级 Jacky 108 三年一班 三年级 Lily 115 三年二班 三年级 zhuohua wu 109 四年一班 四年级 ---------- 分别输出各班级的“语文成绩”的平均成绩: 语文成绩 年级 班级 三年级 三年一班 109.0 三年二班 90.5 四年级 四年一班 109.0 --- 语文成绩 年级 班级 三年级 三年二班 90.5 三年一班 109.0 四年级 四年一班 109.0 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_data=[[110,105,99,'三年一班','三年级'],[66,77,99,'三年二班','三年级'], [108,88,115,'三年一班','三年级'],[115,28,65,'三年二班','三年级'], [106,120,129.5,'四年一班','四年级']] Key_index=['李大杰','小红','Jacky','Lily','zhuohua wu'] Key_columns=['语文成绩','数学成绩','英语成绩','班级','年级'] df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据 print(df) print("-" * 10) print("-" * 10) ## 一次性删除列标题为“英语成绩”、“数学成绩”的数据: df.drop(['英语成绩','数学成绩'],axis=1,inplace=True) print(df) print("-" * 10) print("分别输出各班级的“语文成绩”的平均成绩:") ## 先按“年级”进行分组,再按“班级”进行分组后,求平均值:(按多列分组统计) df = df.groupby(['年级','班级']).mean() print(df) print("-" * 3) df.sort_values(by='语文成绩',ascending=False, inplace=True) #按“语文成绩”进行排序(降序) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 年级 李大杰 110 105 99.0 三年一班 三年级 小红 66 77 99.0 三年二班 三年级 Jacky 108 88 115.0 三年一班 三年级 Lily 115 28 65.0 三年二班 三年级 zhuohua wu 106 120 129.5 四年一班 四年级 ---------- ---------- 语文成绩 班级 年级 李大杰 110 三年一班 三年级 小红 66 三年二班 三年级 Jacky 108 三年一班 三年级 Lily 115 三年二班 三年级 zhuohua wu 106 四年一班 四年级 ---------- 分别输出各班级的“语文成绩”的平均成绩: 语文成绩 年级 班级 三年级 三年一班 109.0 三年二班 90.5 四年级 四年一班 106.0 --- 语文成绩 年级 班级 三年级 三年一班 109.0 四年级 四年一班 106.0 三年级 三年二班 90.5 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_data=[[110,105,99,'三年一班','三年级'],[66,77,99,'三年二班','三年级'], [108,88,115,'三年一班','三年级'],[115,28,65,'三年二班','三年级'], [106,120,129.5,'四年一班','四年级']] Key_index=['李大杰','小红','Jacky','Lily','zhuohua wu'] Key_columns=['语文成绩','数学成绩','英语成绩','班级','年级'] df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据 print(df) print("-" * 10) print("-" * 10) print("分别输出各班级的“语文成绩”的平均成绩:") ## 先按“年级”进行分组,再按“班级”进行分组后,求“语文成绩”的平均值:(按多列分组统计) df = df.groupby(['年级','班级'])['语文成绩'].mean() print(df) print("-" * 3) df.sort_values(ascending=True, inplace=True) #进行排序(升序) print(df) print("-" * 3) df.sort_values(ascending=False, inplace=True) #进行排序(降序) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 年级 李大杰 110 105 99.0 三年一班 三年级 小红 66 77 99.0 三年二班 三年级 Jacky 108 88 115.0 三年一班 三年级 Lily 115 28 65.0 三年二班 三年级 zhuohua wu 106 120 129.5 四年一班 四年级 ---------- ---------- 分别输出各班级的“语文成绩”的平均成绩: 年级 班级 三年级 三年一班 109.0 三年二班 90.5 四年级 四年一班 106.0 Name: 语文成绩, dtype: float64 --- 年级 班级 三年级 三年二班 90.5 四年级 四年一班 106.0 三年级 三年一班 109.0 Name: 语文成绩, dtype: float64 --- 年级 班级 三年级 三年一班 109.0 四年级 四年一班 106.0 三年级 三年二班 90.5 Name: 语文成绩, dtype: float64 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_data=[[110,105,99,'三年一班','三年级'],[66,77,99,'三年二班','三年级'], [108,88,115,'三年一班','三年级'],[115,28,65,'三年二班','三年级'], [106,120,129.5,'四年一班','四年级']] Key_index=['李大杰','小红','Jacky','Lily','zhuohua wu'] Key_columns=['语文成绩','数学成绩','英语成绩','班级','年级'] df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据 print(df) print("-" * 10) print("-" * 10) print("分别输出各班级的“语文成绩”的平均成绩、总和:") ## 先按“年级”进行分组,再按“班级”进行分组后,求“语文成绩”的平均值、总和:(按多列分组统计) df = df.groupby(['年级','班级']).agg({'语文成绩':['mean','sum']}) print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 年级 李大杰 110 105 99.0 三年一班 三年级 小红 66 77 99.0 三年二班 三年级 Jacky 108 88 115.0 三年一班 三年级 Lily 115 28 65.0 三年二班 三年级 zhuohua wu 106 120 129.5 四年一班 四年级 ---------- ---------- 分别输出各班级的“语文成绩”的平均成绩、总和: 语文成绩 mean sum 年级 班级 三年级 三年一班 109.0 218 三年二班 90.5 181 四年级 四年一班 106.0 106 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_data=[[110,105,99,'三年一班','三年级'],[66,77,99,'三年二班','三年级'], [108,88,115,'三年一班','三年级'],[115,28,65,'三年二班','三年级'], [106,120,129.5,'四年一班','四年级']] Key_index=['李大杰','小红','Jacky','Lily','zhuohua wu'] Key_columns=['语文成绩','数学成绩','英语成绩','班级','年级'] df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据 print(df) print("-" * 10) print("-" * 10) print("分别输出各班级的“语文成绩”的平均成绩、总和:") ## 先按“年级”进行分组,再按“班级”进行分组后,求“语文成绩”的平均值、总和:(按多列分组统计) df = df.groupby(['年级','班级']).agg({'语文成绩':['mean','sum']}) print(df) print("-" * 10) df.rename(columns={'mean':'平均值'},inplace=True) #修改一个列标题 print(df) print("-" * 10) df.rename(columns={'平均值':'平均值2','sum':'总和'},inplace=True) #修改多个列标题 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 年级 李大杰 110 105 99.0 三年一班 三年级 小红 66 77 99.0 三年二班 三年级 Jacky 108 88 115.0 三年一班 三年级 Lily 115 28 65.0 三年二班 三年级 zhuohua wu 106 120 129.5 四年一班 四年级 ---------- ---------- 分别输出各班级的“语文成绩”的平均成绩、总和: 语文成绩 mean sum 年级 班级 三年级 三年一班 109.0 218 三年二班 90.5 181 四年级 四年一班 106.0 106 ---------- 语文成绩 平均值 sum 年级 班级 三年级 三年一班 109.0 218 三年二班 90.5 181 四年级 四年一班 106.0 106 ---------- 语文成绩 平均值2 总和 年级 班级 三年级 三年一班 109.0 218 三年二班 90.5 181 四年级 四年一班 106.0 106 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_data=[[110,105,99,'三年一班','三年级'],[66,77,99,'三年二班','三年级'], [108,88,115,'三年一班','三年级'],[115,28,65,'三年二班','三年级'], [106,120,129.5,'四年一班','四年级']] Key_index=['李大杰','小红','Jacky','Lily','zhuohua wu'] Key_columns=['语文成绩','数学成绩','英语成绩','班级','年级'] df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据 print(df) print("-" * 10) print("-" * 10) print("分别输出各班级的“语文成绩”的平均成绩、总和,以及“英语成绩”的总和:") ## 先按“年级”进行分组,再按“班级”进行分组后,求“语文成绩”的平均值、总和,以及“英语成绩”的总和":(按多列分组统计) df = df.groupby(['年级','班级']).agg({'语文成绩':['mean','sum'],'英语成绩':['sum']}) print(df) print("-" * 10) df.rename(columns={'mean':'平均值','sum':'总和'},inplace=True) #修改多个列标题 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 年级 李大杰 110 105 99.0 三年一班 三年级 小红 66 77 99.0 三年二班 三年级 Jacky 108 88 115.0 三年一班 三年级 Lily 115 28 65.0 三年二班 三年级 zhuohua wu 106 120 129.5 四年一班 四年级 ---------- ---------- 分别输出各班级的“语文成绩”的平均成绩、总和,以及“英语成绩”的总和: 语文成绩 英语成绩 mean sum sum 年级 班级 三年级 三年一班 109.0 218 214.0 三年二班 90.5 181 164.0 四年级 四年一班 106.0 106 129.5 ---------- 语文成绩 英语成绩 平均值 总和 总和 年级 班级 三年级 三年一班 109.0 218 214.0 三年二班 90.5 181 164.0 四年级 四年一班 106.0 106 129.5 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_data=[[110,105,99,'三年一班','三年级'],[66,77,99,'三年二班','三年级'], [108,88,115,'三年一班','三年级'],[115,28,65,'三年二班','三年级'], [106,120,129.5,'四年一班','四年级']] Key_index=['李大杰','小红','Jacky','Lily','zhuohua wu'] Key_columns=['语文成绩','数学成绩','英语成绩','班级','年级'] df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据 print(df) print("-" * 10) print("-" * 10) print("分别输出各班级的“语文成绩”的平均成绩、总和,以及“英语成绩”的最大值、最小值:") ## 先按“年级”进行分组,再按“班级”进行分组后,求“语文成绩”的平均值、总和,以及“英语成绩”的最大值、最小值":(按多列分组统计) df = df.groupby(['年级','班级']).agg({'语文成绩':['mean','sum'],'英语成绩':['max','min']}) print(df) print("-" * 10) df.rename(columns={'mean':'平均值','sum':'总和','max':'最大值','min':'最小值'},inplace=True) #修改多个列标题 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 年级 李大杰 110 105 99.0 三年一班 三年级 小红 66 77 99.0 三年二班 三年级 Jacky 108 88 115.0 三年一班 三年级 Lily 115 28 65.0 三年二班 三年级 zhuohua wu 106 120 129.5 四年一班 四年级 ---------- ---------- 分别输出各班级的“语文成绩”的平均成绩、总和,以及“英语成绩”的最大值、最小值: 语文成绩 英语成绩 mean sum max min 年级 班级 三年级 三年一班 109.0 218 115.0 99.0 三年二班 90.5 181 99.0 65.0 四年级 四年一班 106.0 106 129.5 129.5 ---------- 语文成绩 英语成绩 平均值 总和 最大值 最小值 年级 班级 三年级 三年一班 109.0 218 115.0 99.0 三年二班 90.5 181 99.0 65.0 四年级 四年一班 106.0 106 129.5 129.5 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) Key_data=[[110,105,99,'三年一班','三年级'],[166,177,199,'三年一班','三年级'], [108,88,115,'三年二班','三年级'],[115,28,65,'三年二班','三年级'],[66,77,199,'三年一班','三年级'], [109,120,129.5,'四年一班','四年级']] Key_index=['李大杰','小红','Funny','Jacky','Lily','zhuohua wu'] Key_columns=['语文成绩','数学成绩','英语成绩','班级','年级'] df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据 print(df) print("-" * 10) print("-" * 10) max1 = lambda x:x.value_counts(dropna=False).index[0] max1.__name__ = '分别输出各班级的“英语成绩”那一列中出现次数最多的值:' ## 先按“年级”进行分组,再按“班级”进行分组后,求“英语成绩”那一列中出现次数最多的值:(按多列分组统计) df_1 = df.groupby(['年级','班级']).agg({'英语成绩':[max1]}) print(df_1) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 年级 李大杰 110 105 99.0 三年一班 三年级 小红 166 177 199.0 三年一班 三年级 Funny 108 88 115.0 三年二班 三年级 Jacky 115 28 65.0 三年二班 三年级 Lily 66 77 199.0 三年一班 三年级 zhuohua wu 109 120 129.5 四年一班 四年级 ---------- ---------- 英语成绩 分别输出各班级的“英语成绩”那一列中出现次数最多的值: 年级 班级 三年级 三年一班 199.0 三年二班 65.0 四年级 四年一班 129.5 C:\Users\jacky\Desktop> Pandas的导出和导入(csv文件): ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[111,105,99.5], '数学成绩':[106,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) dict1 = {'语文成绩':'语文+数学','数学成绩':'语文+数学','班级':'班级','英语成绩':'英语成绩'} #使用字典进行分组统计 df = df.groupby(dict1,axis=1).sum() #把字典的键值对里相同值名的键进行求和 print(df) print("-" * 10) df = df.reindex(columns=['语文+数学','班级','英语成绩']) #重新设置各个列的位置 print(df) ## 把结果分别导出到指定的csv文件: df.to_csv('C:\\Users\\jacky\\Desktop\\Pandas的基础_1.csv',sep='\t',index=False,header=True) #不保留索引(行标题),但保留列标题 df.to_csv('C:/Users/jacky/Desktop/Pandas的基础_2.csv',sep='\t',index=False,header=False) #不保留索引(行标题)、列标题 df.to_csv('d:/share/Pandas的基础_3.csv',sep='\t',index=True,header=True) #保留索引(行标题)、列标题 脚本运行的结果:(假如目标文件存在则覆盖,不存在则自动创建) C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 111.0 106 109 三年一班 Jacky 105.0 88 120 三年二班 zhuohua 99.5 115 130 三年二班 ---------- ---------- 班级 英语成绩 语文+数学 李大杰 三年一班 109 217.0 Jacky 三年二班 120 193.0 zhuohua 三年二班 130 214.5 ---------- 语文+数学 班级 英语成绩 李大杰 217.0 三年一班 109 Jacky 193.0 三年二班 120 zhuohua 214.5 三年二班 130 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_csv('d:/share/Pandas的基础_3.csv',sep='\t',encoding='utf-8') #导入指定的csv文件 print(df) print("-" * 10) 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 语文+数学 班级 英语成绩 0 李大杰 217.0 三年一班 109 1 Jacky 193.0 三年二班 120 2 zhuohua 214.5 三年二班 130 ---------- ---------- 姓名 语文+数学 班级 英语成绩 0 李大杰 217.0 三年一班 109 1 Jacky 193.0 三年二班 120 2 zhuohua 214.5 三年二班 130 ---------- 姓名 语文+数学 班级 英语成绩 李大杰 217.0 三年一班 109 Jacky 193.0 三年二班 120 zhuohua 214.5 三年二班 130 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd def func1(): #自定义导出的函数 pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[111,105,99.5], '数学成绩':[106,88,115], '英语成绩':[109,120,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) dict1 = {'语文成绩':'语文+数学','数学成绩':'语文+数学','班级':'班级','英语成绩':'英语成绩'} #使用字典进行分组统计 df = df.groupby(dict1,axis=1).sum() #把字典的键值对里相同值名的键进行求和 print(df) print("-" * 10) df = df.reindex(columns=['语文+数学','班级','英语成绩']) #重新设置各个列的位置 print(df) ## 把结果导出到指定的csv文件: df.to_csv('d:\\share\\Pandas的基础_3.csv',sep='\t',index=True,header=True) #保留索引(行标题)、列标题 print("-" * 10) print("-" * 10) print("-" * 10) func2() #执行func2() def func2(): #自定义导入的函数 pd.set_option('display.unicode.east_asian_width',True) df = pd.read_csv('d:\\share\\Pandas的基础_3.csv',sep='\t',encoding='utf-8') #导入指定的csv文件 print(df) print("-" * 10) print("-" * 10) ## 修改一个列标题: df.rename(columns={'Unnamed: 0':'姓名'},inplace=True) print(df) print("-" * 10) ## 不输出索引: df = df.to_string(index=False) print(df) if __name__ == '__main__': func1() #执行func1() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 111.0 106 109 三年一班 Jacky 105.0 88 120 三年二班 zhuohua 99.5 115 130 三年二班 ---------- ---------- 班级 英语成绩 语文+数学 李大杰 三年一班 109 217.0 Jacky 三年二班 120 193.0 zhuohua 三年二班 130 214.5 ---------- 语文+数学 班级 英语成绩 李大杰 217.0 三年一班 109 Jacky 193.0 三年二班 120 zhuohua 214.5 三年二班 130 ---------- ---------- ---------- Unnamed: 0 语文+数学 班级 英语成绩 0 李大杰 217.0 三年一班 109 1 Jacky 193.0 三年二班 120 2 zhuohua 214.5 三年二班 130 ---------- ---------- 姓名 语文+数学 班级 英语成绩 0 李大杰 217.0 三年一班 109 1 Jacky 193.0 三年二班 120 2 zhuohua 214.5 三年二班 130 ---------- 姓名 语文+数学 班级 英语成绩 李大杰 217.0 三年一班 109 Jacky 193.0 三年二班 120 zhuohua 214.5 三年二班 130 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd def func1(): #自定义导出的函数 pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[110,105,99.5], '数学成绩':[105,88,115], '英语成绩':[109,120,130], '班级':['三年二班','三年一班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) ## 把结果导出到指定的csv文件: df.to_csv('d:/Pandas的基础_4.csv',sep='\t',index=True,header=True) #保留索引(行标题)、列标题 print("-" * 10) print("-" * 10) print("-" * 10) func2() #执行func2() def func2(): #自定义导入的函数 pd.set_option('display.unicode.east_asian_width',True) df = pd.read_csv('d:\\Pandas的基础_4.csv',sep='\t',encoding='utf-8') #导入指定的csv文件 print(df) print("-" * 10) print("-" * 10) ## 修改一个列标题: df.rename(columns={'Unnamed: 0':'姓名'},inplace=True) print(df) print('按“班级”分组后,输出各个分组中的数据:') for name,group in df.groupby('班级'): print(name) print(group) if __name__ == '__main__': func1() #执行func1() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 李大杰 110.0 105 109 三年二班 Jacky 105.0 88 120 三年一班 zhuohua 99.5 115 130 三年二班 ---------- ---------- ---------- Unnamed: 0 语文成绩 数学成绩 英语成绩 班级 0 李大杰 110.0 105 109 三年二班 1 Jacky 105.0 88 120 三年一班 2 zhuohua 99.5 115 130 三年二班 ---------- ---------- 姓名 语文成绩 数学成绩 英语成绩 班级 0 李大杰 110.0 105 109 三年二班 1 Jacky 105.0 88 120 三年一班 2 zhuohua 99.5 115 130 三年二班 按“班级”分组后,输出各个分组中的数据: 三年一班 姓名 语文成绩 数学成绩 英语成绩 班级 1 Jacky 105.0 88 120 三年一班 三年二班 姓名 语文成绩 数学成绩 英语成绩 班级 0 李大杰 110.0 105 109 三年二班 2 zhuohua 99.5 115 130 三年二班 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd def func1(): #自定义导出的函数 pd.set_option('display.unicode.east_asian_width',True) Key_data=[[110,105,99,'三年一班','三年级'],[66,77,99,'三年二班','三年级'], [108,88,115,'三年一班','三年级'],[115,28,65,'三年二班','三年级'], [109,120,129.5,'四年一班','四年级']] Key_index=['李大杰','小红','Jacky','Lily','zhuohua wu'] Key_columns=['语文成绩','数学成绩','英语成绩','班级','年级'] df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据 print(df) ## 把结果导出到指定的csv文件: df.to_csv('d:\\Pandas的基础_4.csv',sep='\t',index=True,header=True) #保留索引(行标题)、列标题 def func2(): #自定义导入的函数 pd.set_option('display.unicode.east_asian_width',True) df = pd.read_csv('d:/Pandas的基础_4.csv',sep='\t',encoding='utf-8') #导入指定的csv文件 print(df) print("-" * 10) print("-" * 10) ## 修改一个列标题: df.rename(columns={'Unnamed: 0':'Name'},inplace=True) print(df) print("-" * 10) print('按“年级”、“班级”分组后,输出各个分组中的数据:') for (key1,key2),group in df.groupby(['年级','班级']): print(key1,key2) print(group) if __name__ == '__main__': func1() #执行func1() print("-" * 10) print("-" * 10) print("-" * 10) func2() #执行func2() 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩 英语成绩 班级 年级 李大杰 110 105 99.0 三年一班 三年级 小红 66 77 99.0 三年二班 三年级 Jacky 108 88 115.0 三年一班 三年级 Lily 115 28 65.0 三年二班 三年级 zhuohua wu 109 120 129.5 四年一班 四年级 ---------- ---------- ---------- Unnamed: 0 语文成绩 数学成绩 英语成绩 班级 年级 0 李大杰 110 105 99.0 三年一班 三年级 1 小红 66 77 99.0 三年二班 三年级 2 Jacky 108 88 115.0 三年一班 三年级 3 Lily 115 28 65.0 三年二班 三年级 4 zhuohua wu 109 120 129.5 四年一班 四年级 ---------- ---------- Name 语文成绩 数学成绩 英语成绩 班级 年级 0 李大杰 110 105 99.0 三年一班 三年级 1 小红 66 77 99.0 三年二班 三年级 2 Jacky 108 88 115.0 三年一班 三年级 3 Lily 115 28 65.0 三年二班 三年级 4 zhuohua wu 109 120 129.5 四年一班 四年级 ---------- 按“年级”、“班级”分组后,输出各个分组中的数据: 三年级 三年一班 Name 语文成绩 数学成绩 英语成绩 班级 年级 0 李大杰 110 105 99.0 三年一班 三年级 2 Jacky 108 88 115.0 三年一班 三年级 三年级 三年二班 Name 语文成绩 数学成绩 英语成绩 班级 年级 1 小红 66 77 99.0 三年二班 三年级 3 Lily 115 28 65.0 三年二班 三年级 四年级 四年一班 Name 语文成绩 数学成绩 英语成绩 班级 年级 4 zhuohua wu 109 120 129.5 四年一班 四年级 C:\Users\jacky\Desktop> ###### ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) #使用字典创建DataFrame数据 df=pd.DataFrame( { '语文成绩':[111,105,99.5], '数学成绩1':[106,120,115], '数学成绩2':[109,110,130], '班级':['三年一班','三年二班','三年二班'] }, index=['李大杰','Jacky','zhuohua']) print(df) print("-" * 10) print("-" * 10) df['两次数学成绩的升降情况'] = df['数学成绩2'] - df['数学成绩1'] print(df) print("-" * 10) ## 只输出“班级”、“数学成绩1”、“数学成绩2”、“两次数学成绩的升降情况”的列数据: Result_1 = df[['班级','数学成绩1','数学成绩2','两次数学成绩的升降情况']] print(Result_1) ## 把结果导出到指定的csv文件: Result_1.to_csv('D:/Pandas的基础-5.csv',sep='\t',index=True,header=True) #保留索引(行标题)、列标题 print("-" * 10) print("-" * 10) print("-" * 10) Result_2 = pd.read_csv('D:/Pandas的基础-5.csv',sep='\t',encoding='utf-8') #导入指定的csv文件 print(Result_2) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py 语文成绩 数学成绩1 数学成绩2 班级 李大杰 111.0 106 109 三年一班 Jacky 105.0 120 110 三年二班 zhuohua 99.5 115 130 三年二班 ---------- ---------- 语文成绩 数学成绩1 数学成绩2 班级 两次数学成绩的升降情况 李大杰 111.0 106 109 三年一班 3 Jacky 105.0 120 110 三年二班 -10 zhuohua 99.5 115 130 三年二班 15 ---------- 班级 数学成绩1 数学成绩2 两次数学成绩的升降情况 李大杰 三年一班 106 109 3 Jacky 三年二班 120 110 -10 zhuohua 三年二班 115 130 15 ---------- ---------- ---------- Unnamed: 0 班级 数学成绩1 数学成绩2 两次数学成绩的升降情况 0 李大杰 三年一班 106 109 3 1 Jacky 三年二班 120 110 -10 2 zhuohua 三年二班 115 130 15 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_csv("D:/Pandas的基础-5.csv",sep='\t',encoding='utf-8') #导入指定的csv文件 print(df) print("-" * 10) print("-" * 10) print("-" * 10) ## 把结果导出到指定的txt文件: df.to_csv("D:/Pandas的基础-5.txt",sep='\t',index=False,header=True) #不保留索引(行标题),但保留列标题 ## 导入指定的txt文件: df = pd.read_csv("D:/Pandas的基础-5.txt",sep='\t',encoding='utf-8') print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Unnamed: 0 班级 数学成绩1 数学成绩2 两次数学成绩的升降情况 0 李大杰 三年一班 106 109 3 1 Jacky 三年二班 120 110 -10 2 zhuohua 三年二班 115 130 15 ---------- ---------- ---------- Unnamed: 0 班级 数学成绩1 数学成绩2 两次数学成绩的升降情况 0 李大杰 三年一班 106 109 3 1 Jacky 三年二班 120 110 -10 2 zhuohua 三年二班 115 130 15 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) df = pd.read_csv("D:/Pandas的基础-5.txt",sep='\t',encoding='utf-8') #导入指定的txt文件 print(df) print("-" * 10) print("-" * 10) ## 把结果导出到指定的csv文件: df.to_csv("D:/Pandas的基础_6.csv",sep='\t',index=False,header=True) #不保留索引(行标题),但保留列标题 ## 导入指定的csv文件: df = pd.read_csv('D:/Pandas的基础_6.csv',sep='\t',encoding='utf-8') print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Unnamed: 0 班级 数学成绩1 数学成绩2 两次数学成绩的升降情况 0 李大杰 三年一班 106 109 3 1 Jacky 三年二班 120 110 -10 2 zhuohua 三年二班 115 130 15 ---------- ---------- Unnamed: 0 班级 数学成绩1 数学成绩2 两次数学成绩的升降情况 0 李大杰 三年一班 106 109 3 1 Jacky 三年二班 120 110 -10 2 zhuohua 三年二班 115 130 15 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 导入指定的txt文件: df = pd.read_csv("D:/Pandas的基础-5.txt",sep='\t',encoding='utf-8',usecols=['Unnamed: 0','数学成绩1','数学成绩2']) # usecols=[] 只输出某几个列的数据 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Unnamed: 0 数学成绩1 数学成绩2 0 李大杰 106 109 1 Jacky 120 110 2 zhuohua 115 130 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 导入指定的txt文件: df = pd.read_csv("D:/Pandas的基础-5.txt",sep='\t',encoding='utf-8',usecols=['数学成绩2','数学成绩1','Unnamed: 0']) # usecols=[] 只输出某几个列的数据 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Unnamed: 0 数学成绩1 数学成绩2 0 李大杰 106 109 1 Jacky 120 110 2 zhuohua 115 130 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 导入指定的csv文件: df = pd.read_csv('D:/Pandas的基础_6.csv',sep='\t',encoding='utf-8', usecols=['Unnamed: 0','数学成绩1','数学成绩2','两次数学成绩的升降情况']) # usecols=[] 只输出某几个列的数据 print(df) 脚本运行的结果: C:\Users\jacky\Desktop>python xx.py Unnamed: 0 数学成绩1 数学成绩2 两次数学成绩的升降情况 0 李大杰 106 109 3 1 Jacky 120 110 -10 2 zhuohua 115 130 15 C:\Users\jacky\Desktop> ###### #coding=utf-8 import pandas as pd pd.set_option('display.unicode.east_asian_width',True) ## 导入指定的csv文件: df = pd.read_csv('D:/Pandas的基础_6.csv',sep='\t',encoding='utf-8', usecols=['数学成绩1','数学成绩2','两次数学成绩的升降情况','Unnamed: 0']) # usecols=[] 只输出某几个列的数据 print(df) print("-" * 10) print("-" * 10) df = df.reindex(columns=['数学成绩1','数学成绩2','两次数学成绩的升降情况','Unnamed: 0']) #重新设置各个列的位置 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 数学成绩1 数学成绩2 两次数学成绩的升降情况 0 李大杰 106 109 3 1 Jacky 120 110 -10 2 zhuohua 115 130 15 ---------- ---------- 数学成绩1 数学成绩2 两次数学成绩的升降情况 Unnamed: 0 0 106 109 3 李大杰 1 120 110 -10 Jacky 2 115 130 15 zhuohua ---------- 数学成绩1 数学成绩2 两次数学成绩的升降情况 姓名 0 106 109 3 李大杰 1 120 110 -10 Jacky 2 115 130 15 zhuohua ---------- 数学成绩1 数学成绩2 两次数学成绩的升降情况 姓名 106 109 3 李大杰 120 110 -10 Jacky 115 130 15 zhuohua C:\Users\jacky\Desktop> 相关文章: Pandas的基础 Pandas的数据转换 自定义函数 字典




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