返回列表 发帖

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
<class 'str'>
----------
第2行第1列的值:
105
<class 'str'>

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
<class 'str'>
----------
第3行第2列的值:
115.0
<class 'str'>

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  三年二班
----------
----------
“语文成绩”那一列中出现次数最多的值:
          语文成绩
<lambda>     110.0
----------
“班级”那一列中出现次数最多的值:
              班级
<lambda>  三年二班

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  三年二班
----------
----------
各班级的“语文成绩”那一列中出现次数最多的值:
         语文成绩
         <lambda>
班级
三年一班     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的数据转换

自定义函数
字典

返回列表