返回列表 发帖

Pandas的进阶(二)

######

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

Key_data=[[110,105,99],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','zhuohua wu']

Key_columns=['语文成绩','数学成绩','英语成绩']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

df['总成绩'] = df.sum(axis=1) #按行求和

#print(df)

#print("-" * 10)

print("各行的总成绩:")
df = df['总成绩']
print(df)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
各行的总成绩:
李大杰        314.0
Jacky         308.0
zhuohua wu    358.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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','zhuohua wu']

Key_columns=['语文成绩','数学成绩','英语成绩']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

df['总成绩'] = df.sum(axis=1) #按行求和

print(df)

print("-" * 10)

print(df.loc[['李大杰','zhuohua wu']]) #只输出行标题为“李大杰”、“zhuohua wu”的行数据

print("-" * 10)

print(df.loc['李大杰']) #只输出行标题为“李大杰”,那一行的数据

print("-" * 10)

print("行标题为“李大杰”的那一行的语文成绩、总成绩:")
Result_1 = df.loc[['李大杰'],['语文成绩','总成绩']]
print(Result_1)

print("-" * 10)

print("行标题为“李大杰”的那一行的总成绩:")
Result_2 = df.loc[['李大杰'],['总成绩']]
print(Result_2)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
            语文成绩  数学成绩  英语成绩  总成绩
李大杰           110       105      99.0   314.0
Jacky            105        88     115.0   308.0
zhuohua wu       109       120     129.5   358.5
----------
            语文成绩  数学成绩  英语成绩  总成绩
李大杰           110       105      99.0   314.0
zhuohua wu       109       120     129.5   358.5
----------
语文成绩    110.0
数学成绩    105.0
英语成绩     99.0
总成绩      314.0
Name: 李大杰, dtype: float64
----------
行标题为“李大杰”的那一行的语文成绩、总成绩:
        语文成绩  总成绩
李大杰       110   314.0
----------
行标题为“李大杰”的那一行的总成绩:
        总成绩
李大杰   314.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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','zhuohua wu']

Key_columns=['语文成绩','数学成绩','英语成绩']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

df['总成绩'] = df.sum(axis=1) #按行求和

print(df)

print("-" * 10)

print("行标题为“李大杰”的那一行的总成绩的值:")
Result_1 = df.loc['李大杰','总成绩']
print(Result_1)
print(type(Result_1))

print("-" * 3)

Result_1 = int(Result_1)
print(Result_1)
print(type(Result_1))

print("-" * 10)

print("行标题为“zhuohua wu”的那一行的总成绩的值:")
Result_2 = df.loc['zhuohua wu','总成绩']
print(Result_2)
print(type(Result_2))

print("-" * 3)

Result_2 = float(Result_2)
print(Result_2)
print(type(Result_2))

print("-" * 10)
print("-" * 10)

print("行标题为“zhuohua wu”的那一行的数学成绩的值:")
Result_3 = df.loc['zhuohua wu','数学成绩']
print(Result_3)
print(type(Result_3))

print("-" * 3)

Result_3 = int(df.loc['zhuohua wu','数学成绩'])
print(Result_3)
print(type(Result_3))

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
            语文成绩  数学成绩  英语成绩  总成绩
李大杰           110       105      99.0   314.0
Jacky            105        88     115.0   308.0
zhuohua wu       109       120     129.5   358.5
----------
行标题为“李大杰”的那一行的总成绩的值:
314.0
<class 'numpy.float64'>
---
314
<class 'int'>
----------
行标题为“zhuohua wu”的那一行的总成绩的值:
358.5
<class 'numpy.float64'>
---
358.5
<class 'float'>
----------
----------
行标题为“zhuohua wu”的那一行的数学成绩的值:
120
<class 'numpy.int64'>
---
120
<class 'int'>

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['总成绩'] = df.sum(axis=1) #按行求和

print(df)

print("-" * 10)

print("各行的总成绩:")
df = df['总成绩']
print(df)

print("-" * 10)

print("只输出行标题为“zhuohua”、“李大杰”的总成绩:")
print(df[['zhuohua','李大杰']])

print("-" * 10)

print("只输出行标题为“zhuohua”的那一行的总成绩:")
print(df[['zhuohua']])

print("-" * 10)
print("-" * 10)

print("只输出行标题为“zhuohua”的那一行的总成绩的值:")
df = df['zhuohua']
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       105       109  三年一班   324.0
Jacky       105.0        88       120  三年二班   313.0
zhuohua      99.5       115       130  三年三班   344.5
----------
各行的总成绩:
李大杰     324.0
Jacky      313.0
zhuohua    344.5
Name: 总成绩, dtype: float64
----------
只输出行标题为“zhuohua”、“李大杰”的总成绩:
zhuohua    344.5
李大杰     324.0
Name: 总成绩, dtype: float64
----------
只输出行标题为“zhuohua”的那一行的总成绩:
zhuohua    344.5
Name: 总成绩, dtype: float64
----------
----------
只输出行标题为“zhuohua”的那一行的总成绩的值:
344.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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','zhuohua wu']

Key_columns=['语文成绩','数学成绩','英语成绩']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

df['最高成绩'] = df.max(axis=1) #按行求最大值

print(df)

print("-" * 10)

print("输出各行的最高成绩:")
df = df['最高成绩']
print(df)

print("-" * 10)

print("只输出前面两行的数据:")
print(df[0:2]) # 从0开始计算

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
            语文成绩  数学成绩  英语成绩  最高成绩
李大杰           110       105      99.0     110.0
Jacky            105        88     115.0     115.0
zhuohua wu       109       120     129.5     129.5
----------
输出各行的最高成绩:
李大杰        110.0
Jacky         115.0
zhuohua wu    129.5
Name: 最高成绩, dtype: float64
----------
只输出前面两行的数据:
李大杰    110.0
Jacky     115.0
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)

df['最高成绩'] = df.max(axis=1) #按行求最大值

print(df)

print("-" * 10)

print("分别输出各行的数学成绩、最高成绩:")
df = df[['数学成绩','最高成绩']]
print(df)

print("-" * 10)

print("只输出前面两行的数据:")
print(df[0:2]) # 从0开始计算

脚本运行的结果:
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  三年一班     110.0
Jacky       105.0        88       120  三年二班     120.0
zhuohua      99.5       115       130  三年三班     130.0
----------
分别输出各行的数学成绩、最高成绩:
         数学成绩  最高成绩
李大杰        105     110.0
Jacky          88     120.0
zhuohua       115     130.0
----------
只输出前面两行的数据:
        数学成绩  最高成绩
李大杰       105     110.0
Jacky         88     120.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)

df['最高成绩'] = df.max(axis=1) #按行求最大值

print(df)

print("-" * 10)

## 在上面的基础上,按“班级”进行分组后求最大值:
df = df.groupby('班级').max()

print(df)

print("-" * 10)

print("分别输出各班级的最高成绩:")

## 一次性删除列标题为“英语成绩”、“语文成绩”、“数学成绩”的数据:
df.drop(['英语成绩','语文成绩','数学成绩'],axis=1,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.0       105       109  三年一班     110.0
Jacky       105.0        88       120  三年二班     120.0
zhuohua      99.5       115       130  三年二班     130.0
----------
          语文成绩  数学成绩  英语成绩  最高成绩
班级
三年一班     110.0       105       109     110.0
三年二班     105.0       115       130     130.0
----------
分别输出各班级的最高成绩:
          最高成绩
班级
三年一班     110.0
三年二班     130.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)

df['最高成绩'] = df.max(axis=1) #按行求最大值
#print(df)
#print("-" * 10)

## 在上面的基础上,按“班级”进行分组后求最大值:
df = df.groupby('班级').max()

print(df)

print("-" * 10)

print("分别输出各班级的最高成绩:")

## 一次性删除列标题为“英语成绩”、“语文成绩”、“数学成绩”的数据:
df.drop(['英语成绩','语文成绩','数学成绩'],axis=1,inplace=True)
#print(df)

print("-" * 3)

df.sort_values(by='最高成绩',ascending=False, inplace=True) #按“最高成绩”进行排序(降序)

print(df)

print("-" * 3)

df.sort_values(by='最高成绩',ascending=True, 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.0       105       109     110.0
三年二班     105.0       115       130     130.0
----------
分别输出各班级的最高成绩:
---
          最高成绩
班级
三年二班     130.0
三年一班     110.0
---
          最高成绩
班级
三年一班     110.0
三年二班     130.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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','zhuohua wu']

Key_columns=['语文成绩','数学成绩','英语成绩']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

df['各行的最低成绩'] = df.min(axis=1) #按行求最小值

print(df)

print("-" * 10)

print("分别输出各行的数学成绩、最低成绩:")
print(df.iloc[:,[1,3]]) #输出所有行的第2列、第4列

print("-" * 10)
print("只输出各行的最低成绩:")
print(df.iloc[:,3]) #输出所有行的第4列

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
            语文成绩  数学成绩  英语成绩  各行的最低成绩
李大杰           110       105      99.0            99.0
Jacky            105        88     115.0            88.0
zhuohua wu       109       120     129.5           109.0
----------
分别输出各行的数学成绩、最低成绩:
            数学成绩  各行的最低成绩
李大杰           105            99.0
Jacky             88            88.0
zhuohua wu       120           109.0
----------
只输出各行的最低成绩:
李大杰         99.0
Jacky          88.0
zhuohua wu    109.0
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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','zhuohua wu']

Key_columns=['语文成绩','数学成绩','英语成绩']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

df['最低成绩'] = df.min(axis=1) #按行求最小值

print(df)

print("-" * 10)

print("分别输出各行的数学成绩、英语成绩、最低成绩:")
print(df.iloc[:,1:4]) #输出所有行的第2列至第4列

print("-" * 10)
print("-" * 10)

print("只输出各行的最低成绩:")
print(df.iloc[:,3]) #输出所有行的第4列

print("-" * 10)

print("只输出前面两行的最低成绩:")
df_1 = df.iloc[:,3]
print(df_1.head(2)) #输出前面两行的数据

print("-" * 10)

print("只输出最后两行的最低成绩:")
df_2 = df.iloc[:,3]
print(df_2.tail(2)) #输出最后两行的数据

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
            语文成绩  数学成绩  英语成绩  最低成绩
李大杰           110       105      99.0      99.0
Jacky            105        88     115.0      88.0
zhuohua wu       109       120     129.5     109.0
----------
分别输出各行的数学成绩、英语成绩、最低成绩:
            数学成绩  英语成绩  最低成绩
李大杰           105      99.0      99.0
Jacky             88     115.0      88.0
zhuohua wu       120     129.5     109.0
----------
----------
只输出各行的最低成绩:
李大杰         99.0
Jacky          88.0
zhuohua wu    109.0
Name: 最低成绩, dtype: float64
----------
只输出前面两行的最低成绩:
李大杰    99.0
Jacky     88.0
Name: 最低成绩, dtype: float64
----------
只输出最后两行的最低成绩:
Jacky          88.0
zhuohua wu    109.0
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)

df['最低成绩'] = df.min(axis=1) #按行求最小值
print(df)

print("-" * 10)

## 在上面的基础上,按“班级”进行分组后求最小值:
df = df.groupby('班级').min()
print(df)

print("-" * 10)

## 一次性删除列标题为“英语成绩”、“语文成绩”、“数学成绩”的数据:
df.drop(['英语成绩','语文成绩','数学成绩'],axis=1,inplace=True)
print(df)

print("-" * 3)

print("“三年二班”的最低成绩:")
Result_1 = df.loc[['三年二班'],['最低成绩']]
print(Result_1)

print("-" * 3)

print("“三年二班”的最低成绩的值:")
Result_2 = df.loc['三年二班','最低成绩']
print(Result_2)

脚本运行的结果:
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  三年一班     105.0
Jacky       105.0        88       120  三年二班      88.0
zhuohua      99.5       115       130  三年二班      99.5
----------
          语文成绩  数学成绩  英语成绩  最低成绩
班级
三年一班     110.0       105       109     105.0
三年二班      99.5        88       120      88.0
----------
          最低成绩
班级
三年一班     105.0
三年二班      88.0
---
“三年二班”的最低成绩:
          最低成绩
班级
三年二班      88.0
---
“三年二班”的最低成绩的值:
88.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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','zhuohua wu']

Key_columns=['语文成绩','数学成绩','英语成绩']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

df['各行的中位数'] = df.median(axis=1) #按行求中位数。(中位数是指一组数据中位于中间位置的数)
print(df)

print("-" * 10)

print('各行的中位数:')
df = df['各行的中位数']
print(df)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
            语文成绩  数学成绩  英语成绩  各行的中位数
李大杰           110       105      99.0         105.0
Jacky            105        88     115.0         105.0
zhuohua wu       109       120     129.5         120.0
----------
各行的中位数:
李大杰        105.0
Jacky         105.0
zhuohua wu    120.0
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)

df['各行的中位数'] = df.median(axis=1) #按行求中位数
#print(df)

print('各行的中位数:')
df = df['各行的中位数']
print(df)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
         语文成绩  数学成绩  英语成绩      班级
李大杰      110.0       105       109  三年一班
Jacky       105.0        88       120  三年二班
zhuohua      99.5       115       130  三年二班
----------
----------
各行的中位数:
李大杰     109.0
Jacky      105.0
zhuohua    115.0
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],[105,88,115],[-109,-120,-129.5]]

Key_index=['李大杰','Jacky','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.median(axis=1) #按行求中位数。(这里没有设置输出结果的列标题)
print(df)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110      -105      99.0
Jacky            105        88     115.0
zhuohua wu      -109      -120    -129.5
----------
----------
各行的中位数:
李大杰         99.0
Jacky         105.0
zhuohua wu   -120.0
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,110,99],[105,88,105],[120,129.5,129.5]]

Key_index=['李大杰','Jacky','zhuohua wu']

Key_columns=['语文成绩','数学成绩','英语成绩']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

df['各行的众数'] = df.mode(axis=1) #按行求众数。(众数是指一组数据中出现最多的数)
print(df)

print("-" * 10)

print("各行的众数:")
df = df['各行的众数']
print(df)

脚本运行的结果:(假如没有重复出现的数就会报错)
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110     110.0      99.0
Jacky            105      88.0     105.0
zhuohua wu       120     129.5     129.5
----------
----------
            语文成绩  数学成绩  英语成绩  各行的众数
李大杰           110     110.0      99.0       110.0
Jacky            105      88.0     105.0       105.0
zhuohua wu       120     129.5     129.5       129.5
----------
各行的众数:
李大杰        110.0
Jacky         105.0
zhuohua wu    129.5
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,120],
'数学成绩':[110,88,129.5],
'英语成绩':[99,-105,129.5],
'班级':['三年一班','三年二班','三年二班']
},
index=['李大杰','Jacky','zhuohua'])

print(df)

print("-" * 10)
print("-" * 10)

print('各行的众数:')

df = df.mode(axis=1) #按行求众数。(这里没有设置输出结果的列标题)

print(df)

脚本运行的结果:(假如没有重复出现的数就会报错)
C:\Users\jacky\Desktop>python xx.py
         语文成绩  数学成绩  英语成绩      班级
李大杰        110     110.0      99.0  三年一班
Jacky        -105      88.0    -105.0  三年二班
zhuohua       120     129.5     129.5  三年二班
----------
----------
各行的众数:
             0
李大杰   110.0
Jacky   -105.0
zhuohua  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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','zhuohua wu']

Key_columns=['语文成绩','数学成绩','英语成绩']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

df['各行的平均成绩'] = df.mean(axis=1) #按行求平均值
print(df)

print("-" * 10)

print("各行的平均值:")
df = df['各行的平均成绩']
print(df)

print("-" * 10)
print("各行的平均值:(结果只保留两位小数)")
df = df.round(2) #保留两位小数
print(df)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
            语文成绩  数学成绩  英语成绩  各行的平均成绩
李大杰           110       105      99.0      104.666667
Jacky            105        88     115.0      102.666667
zhuohua wu       109       120     129.5      119.500000
----------
各行的平均值:
李大杰        104.666667
Jacky         102.666667
zhuohua wu    119.500000
Name: 各行的平均成绩, dtype: float64
----------
各行的平均值:(结果只保留两位小数)
李大杰        104.67
Jacky         102.67
zhuohua wu    119.50
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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','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.mean(axis=1) #按行求平均值。(这里没有设置输出结果的列标题)
print(df)

print("-" * 10)
print("各行的平均值:(结果只保留一位小数)")
df = df.round(1) #保留一位小数
print(df)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
各行的平均值:
李大杰        104.666667
Jacky         102.666667
zhuohua wu    119.500000
dtype: float64
----------
各行的平均值:(结果只保留一位小数)
李大杰        104.7
Jacky         102.7
zhuohua wu    119.5
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,113,102,105,108],[118,98,119,85,118]]

Key_index=['李大杰','zhuohua wu']

Key_columns=['语文成绩1','语文成绩2','语文成绩3','语文成绩4','语文成绩5']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

df['各行的方差'] = df.var(axis=1) #按行求方差
print(df)

print("-" * 10)

print("各行的方差:(方差越小越稳定)")
df = df['各行的方差']
print(df)

print("-" * 10)

print("行标题为“李大杰”的那一行的方差的值:")
df = df['李大杰']
print(df)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩1  语文成绩2  语文成绩3  语文成绩4  语文成绩5
李大杰            110        113        102        105        108
zhuohua wu        118         98        119         85        118
----------
----------
            语文成绩1  语文成绩2  语文成绩3  语文成绩4  语文成绩5  各行的方差
李大杰            110        113        102        105        108        18.3
zhuohua wu        118         98        119         85        118       237.3
----------
各行的方差:(方差越小越稳定)
李大杰         18.3
zhuohua wu    237.3
Name: 各行的方差, dtype: float64
----------
行标题为“李大杰”的那一行的方差的值:
18.300000000000004

C:\Users\jacky\Desktop>



######

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

Key_data=[[110,113,102,105,108],[118,98,119,85,118]]

Key_index=['李大杰','zhuohua wu']

Key_columns=['语文成绩1','语文成绩2','语文成绩3','语文成绩4','语文成绩5']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

df['各行的方差'] = df.var(axis=1) #按行求方差
#print(df)

#print("-" * 10)

print("各行的方差:(方差越小越稳定)")
df = df['各行的方差']
print(df)

print("-" * 10)

print("第一行的方差的值:")
df = df[0] #这是第一行,从0开始计算的
print(df)

print("-" * 3)

df = df.round(2) #保留两位小数
print(df)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩1  语文成绩2  语文成绩3  语文成绩4  语文成绩5
李大杰            110        113        102        105        108
zhuohua wu        118         98        119         85        118
----------
----------
各行的方差:(方差越小越稳定)
李大杰         18.3
zhuohua wu    237.3
Name: 各行的方差, dtype: float64
----------
第一行的方差的值:
18.300000000000004
---
18.3

C:\Users\jacky\Desktop>



######

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

Key_data=[[110,113,102,105,108],[118,98,119,85,118]]

Key_index=['李大杰','zhuohua wu']

Key_columns=['语文成绩1','语文成绩2','语文成绩3','语文成绩4','语文成绩5']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

print("各行的方差:(方差越小越稳定)")
df = df.var(axis=1) #按行求方差。(这里没有设置输出结果的列标题)
print(df)

print("-" * 10)

print("第二行的方差的值:")
df = df[1] #这是第二行,从0开始计算的
print(df)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩1  语文成绩2  语文成绩3  语文成绩4  语文成绩5
李大杰            110        113        102        105        108
zhuohua wu        118         98        119         85        118
----------
----------
各行的方差:(方差越小越稳定)
李大杰         18.3
zhuohua wu    237.3
dtype: float64
----------
第二行的方差的值:
237.3

C:\Users\jacky\Desktop>



######

均方差又称标准差,是方差的平方根,也是用来表示数据的离散程度,均方差越小越稳定。

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

Key_data=[[110,113,102,105,108],[118,98,119,85,118]]

Key_index=['李大杰','zhuohua wu']

Key_columns=['语文成绩1','语文成绩2','语文成绩3','语文成绩4','语文成绩5']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

df['各行的均方差'] = df.std(axis=1) #按行求均方差
print(df)

print("-" * 10)
print("各行的均方差:(均方差越小越稳定)")
df = df['各行的均方差']
print(df)

print("-" * 10)
print("行标题为“李大杰”的那一行的均方差:")
print(df.loc[['李大杰']])

print("-" * 10)
print("行标题为“李大杰”的那一行的均方差的值:")
df_1 = df['李大杰']
print(df_1)

print("-" * 10)
print("第一行的均方差的值:")
df_2 = df[0] #这是第一行,从0开始计算的
print(df_2)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩1  语文成绩2  语文成绩3  语文成绩4  语文成绩5
李大杰            110        113        102        105        108
zhuohua wu        118         98        119         85        118
----------
----------
            语文成绩1  语文成绩2  语文成绩3  语文成绩4  语文成绩5  各行的均方差
李大杰            110        113        102        105        108      4.277850
zhuohua wu        118         98        119         85        118     15.404545
----------
各行的均方差:(均方差越小越稳定)
李大杰         4.277850
zhuohua wu    15.404545
Name: 各行的均方差, dtype: float64
----------
行标题为“李大杰”的那一行的均方差:
李大杰    4.27785
Name: 各行的均方差, dtype: float64
----------
行标题为“李大杰”的那一行的均方差的值:
4.277849927241488
----------
第一行的均方差的值:
4.277849927241488

C:\Users\jacky\Desktop>



######

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

Key_data=[[110,113,102,105,108],[118,98,119,85,118]]

Key_index=['李大杰','zhuohua wu']

Key_columns=['语文成绩1','语文成绩2','语文成绩3','语文成绩4','语文成绩5']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

print("各行的均方差:(均方差越小越稳定)")
df = df.std(axis=1) #按行求均方差。(这里没有设置输出结果的列标题)
print(df)

print("-" * 10)
print("行标题为“zhuohua wu”的那一行的均方差:")
print(df.loc[['zhuohua wu']])

print("-" * 10)
print("行标题为“zhuohua wu”的那一行的均方差的值:")
df_1 = df['zhuohua wu']
print(df_1)

print("-" * 10)
print("第二行的均方差的值:")
df_2 = df[1] #这是第二行,从0开始计算的
print(df_2)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩1  语文成绩2  语文成绩3  语文成绩4  语文成绩5
李大杰            110        113        102        105        108
zhuohua wu        118         98        119         85        118
----------
----------
各行的均方差:(均方差越小越稳定)
李大杰         4.277850
zhuohua wu    15.404545
dtype: float64
----------
行标题为“zhuohua wu”的那一行的均方差:
zhuohua wu    15.404545
dtype: float64
----------
行标题为“zhuohua wu”的那一行的均方差的值:
15.404544783926593
----------
第二行的均方差的值:
15.404544783926593

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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','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.sum() #按列求和

print(df)

print("-" * 10)

print("只输出“语文成绩”、“英语成绩”的总成绩:")
print(df[['语文成绩','英语成绩']])

print("-" * 10)

print("只输出“语文成绩”的总成绩:")
print(df[['语文成绩']])

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
各列的总成绩:
语文成绩    324.0
数学成绩    313.0
英语成绩    343.5
dtype: float64
----------
只输出“语文成绩”、“英语成绩”的总成绩:
语文成绩    324.0
英语成绩    343.5
dtype: float64
----------
只输出“语文成绩”的总成绩:
语文成绩    324.0
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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','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.sum() #按列求和

print(df)

print("-" * 10)

print("只输出“英语成绩”那一列的总成绩的值:")
df_1 = df['英语成绩']
print(df_1)

print("-" * 10)

print("只输出“数学成绩”那一列的总成绩的值:")

df_2 = df['数学成绩'].sum()
print(df_2)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
各列的总成绩:
语文成绩    324.0
数学成绩    313.0
英语成绩    343.5
dtype: float64
----------
只输出“英语成绩”那一列的总成绩的值:
343.5
----------
只输出“数学成绩”那一列的总成绩的值:
313.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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','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.max() #按列求最大值

print(df)

print("-" * 10)

print("“英语成绩”那一列的最高成绩的值:")

df = df['英语成绩'].max()
print(df)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
各列的最高成绩:
语文成绩    110.0
数学成绩    120.0
英语成绩    129.5
dtype: float64
----------
“英语成绩”那一列的最高成绩的值:
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(
{
'语文成绩':[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('班级').max()

print(df)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
         语文成绩  数学成绩  英语成绩      班级
李大杰      110.0       105       109  三年一班
Jacky       105.0        88       120  三年二班
zhuohua      99.5       115       130  三年二班
----------
----------
         英语成绩      班级
李大杰        109  三年一班
Jacky         120  三年二班
zhuohua       130  三年二班
----------
分别输出各班级的“英语成绩”的最高成绩:
          英语成绩
班级
三年一班       109
三年二班       130

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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','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.min() #按列求最小值

print(df)

print("-" * 10)

print("“数学成绩”那一列的最低成绩的值:")

df_1 = df['数学成绩'].min()
print(df_1)

print("-" * 10)

print("“英语成绩”那一列的最低成绩的值:")

df_2 = df['英语成绩'].min()
print(df_2)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
各列的最低成绩:
语文成绩    105.0
数学成绩     88.0
英语成绩     99.0
dtype: float64
----------
“数学成绩”那一列的最低成绩的值:
88.0
----------
“英语成绩”那一列的最低成绩的值:
99.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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','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.min() #按列求最小值

print(df)

print("-" * 10)

print(df.head(2)) #输出前面两行的数据

print("-" * 10)

print(df.tail(2)) #输出最后两行的数据

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
各列的最低成绩:
语文成绩    105.0
数学成绩     88.0
英语成绩     99.0
dtype: float64
----------
语文成绩    105.0
数学成绩     88.0
dtype: float64
----------
数学成绩    88.0
英语成绩    99.0
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)

## 一次性删除列标题为“语文成绩”、“数学成绩”的数据:
df.drop(['语文成绩','数学成绩'],axis=1,inplace=True)

print(df)

print("-" * 10)

print("分别输出各班级的“英语成绩”的最低成绩:")

## 按“班级”进行分组后求最小值:
df = df.groupby('班级').min()

print(df)

print("-" * 3)

df.sort_values(by='英语成绩',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  三年二班
----------
----------
         英语成绩      班级
李大杰        109  三年一班
Jacky         120  三年二班
zhuohua       130  三年二班
----------
分别输出各班级的“英语成绩”的最低成绩:
          英语成绩
班级
三年一班       109
三年二班       120
---
          英语成绩
班级
三年二班       120
三年一班       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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','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.median() #按列求中位数

print(df)

print("-" * 10)

print("只输出“英语成绩”那一列的中位数的值:")
df = df['英语成绩']
print(df)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
各列的中位数:
语文成绩    109.0
数学成绩    105.0
英语成绩    115.0
dtype: float64
----------
只输出“英语成绩”那一列的中位数的值:
115.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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','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.median() #按列求中位数

print(df)

print("-" * 10)

print("只输出“英语成绩”那一列的中位数的值:")
df_1 = df['英语成绩']
print(df_1)

print("-" * 10)

print("只输出“语文成绩”那一列的中位数的值:")
df_2 = df['语文成绩']
print(df_2)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
各列的中位数:
语文成绩    109.0
数学成绩    105.0
英语成绩    115.0
dtype: float64
----------
只输出“英语成绩”那一列的中位数的值:
115.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,120,129.5],[110,88,105],[120,120,129.5]]

Key_index=['李大杰','Jacky','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.mode() #按列求众数

print(df)

print("-" * 10)

print("“英语成绩”那一列的众数的值:")
df_1 = df['英语成绩'].mode()
print(df_1)

print("-" * 3)

df_1 = df_1[0]
print(df_1)

print("-" * 10)

print("只输出“语文成绩”那一列的众数的值:")
df_2 = df['语文成绩']
print(df_2)

print("-" * 3)

df_2 = df_2[0]
print(df_2)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       120     129.5
Jacky            110        88     105.0
zhuohua wu       120       120     129.5
----------
----------
各列的众数:
   语文成绩  数学成绩  英语成绩
0       110       120     129.5
----------
“英语成绩”那一列的众数的值:
0    129.5
dtype: float64
---
129.5
----------
只输出“语文成绩”那一列的众数的值:
0    110
Name: 语文成绩, dtype: int64
---
110

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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','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.mean() #按列求平均值

print(df)

print("-" * 10)

print("“语文成绩”那一列的平均成绩的值:")

df = df['语文成绩'].mean()
print(df)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
各列的平均成绩:
语文成绩    108.000000
数学成绩    104.333333
英语成绩    114.500000
dtype: float64
----------
“语文成绩”那一列的平均成绩的值:
108.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],[105,88,115],[109,120,129.5]]

Key_index=['李大杰','Jacky','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.mean() #按列求平均值
#print(df)

df = df.round(2) #保留两位小数
print(df)

print("-" * 10)

print("“语文成绩”那一列的平均成绩的值:")

df_1 = df['语文成绩'].mean()
print(df_1)

print("-" * 10)

print("“数学成绩”那一列的平均成绩的值:")

df_2 = df['数学成绩'].mean()
print(df_2)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       105      99.0
Jacky            105        88     115.0
zhuohua wu       109       120     129.5
----------
----------
各列的平均成绩:(结果只保留两位小数)
语文成绩    108.00
数学成绩    104.33
英语成绩    114.50
dtype: float64
----------
“语文成绩”那一列的平均成绩的值:
108.0
----------
“数学成绩”那一列的平均成绩的值:
104.33

C:\Users\jacky\Desktop>










######
######

分位数也称分位点,它以概率为依据将数据分割为几个等份,分位数是数据分析中常用的一个统计量,经过抽样得到一个样本值。

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

Key_data=[120,89,98,78,65,102,112,56,79,45]

Key_index=['李大杰','李小明','张小红','小明','李小好','蔺小小','吴小明','武小明','Jacky','zhuohua wu']

Key_columns=['语文成绩']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

## 使用quantile函数计算出50%的分位数,筛选出“语文成绩”大于分位数的学生:
Key_x = df['语文成绩'].quantile(0.50)
Result_1 = df[df['语文成绩'] > Key_x]
print(Result_1)

print("-" * 10)

## 使用quantile函数计算出70%的分位数,筛选出“语文成绩”大于分位数的学生:
Key_x = df['语文成绩'].quantile(0.70)
Result_2 = df[df['语文成绩'] > Key_x]
print(Result_2)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩
李大杰           120
李小明            89
张小红            98
小明              78
李小好            65
蔺小小           102
吴小明           112
武小明            56
Jacky             79
zhuohua wu        45
----------
----------
        语文成绩
李大杰       120
李小明        89
张小红        98
蔺小小       102
吴小明       112
----------
        语文成绩
李大杰       120
蔺小小       102
吴小明       112

C:\Users\jacky\Desktop>



######

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

Key_data=[120,89,98,78,65,102,112,56,79,45]

Key_index=['李大杰','李小明','张小红','小明','李小好','蔺小小','吴小明','武小明','Jacky','zhuohua wu']

Key_columns=['语文成绩']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

## 使用quantile函数计算出50%的分位数,筛选出“语文成绩”大于分位数的学生:
Key_x = df['语文成绩'].quantile(0.50)
df = df[df['语文成绩'] > Key_x]
print(df)

print("-" * 10)

## 在上面的基础上,再使用quantile函数计算出70%的分位数,筛选出“语文成绩”大于分位数的学生:
Key_x = df['语文成绩'].quantile(0.70)
df = df[df['语文成绩'] > Key_x]
print(df)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩
李大杰           120
李小明            89
张小红            98
小明              78
李小好            65
蔺小小           102
吴小明           112
武小明            56
Jacky             79
zhuohua wu        45
----------
----------
        语文成绩
李大杰       120
李小明        89
张小红        98
蔺小小       102
吴小明       112
----------
        语文成绩
李大杰       120
吴小明       112

C:\Users\jacky\Desktop>



######

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

Key_data=[120,89,98,78,65,102,112,56,79,45]

Key_index=['李大杰','李小明','张小红','小明','李小好','蔺小小','吴小明','武小明','Jacky','zhuohua wu']

Key_columns=['语文成绩']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

## 使用quantile函数计算出50%的分位数,筛选出“语文成绩”小于或等于分位数的学生:
Key_x = df['语文成绩'].quantile(0.50)
Result_1 = df[df['语文成绩']<=Key_x]
print(Result_1)

print("-" * 10)

## 使用quantile函数计算出70%的分位数,筛选出“语文成绩”小于或等于分位数的学生:
Key_y = df['语文成绩'].quantile(0.70)
Result_2 = df[df['语文成绩']<=Key_y]
print(Result_2)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩
李大杰           120
李小明            89
张小红            98
小明              78
李小好            65
蔺小小           102
吴小明           112
武小明            56
Jacky             79
zhuohua wu        45
----------
----------
            语文成绩
小明              78
李小好            65
武小明            56
Jacky             79
zhuohua wu        45
----------
            语文成绩
李小明            89
张小红            98
小明              78
李小好            65
武小明            56
Jacky             79
zhuohua wu        45

C:\Users\jacky\Desktop>



######

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

Key_data=[[110,113,102],[118,98,119],[128,76,120],[18,120,19]]

Key_index=['李大杰','李小明','Jacky','zhuohua wu']

Key_columns=['语文成绩','数学成绩','英语成绩']

df=pd.DataFrame(data=Key_data,index=Key_index,columns=Key_columns) #使用二维数组创建DataFrame数据
print(df)

print("-" * 10)
print("-" * 10)

## 使用quantile函数计算75%的分位数,筛选出“数学成绩”小于或等于分位数的学生:
Key_x = df['数学成绩'].quantile(0.75)
Result_1 = df[df['数学成绩'] <= Key_x]
print(Result_1)

print("-" * 10)

## 使用quantile函数计算50%的分位数,筛选出“数学成绩”小于或等于分位数的学生:
Key_y = df['数学成绩'].quantile(0.50)
Result_2 = df[df['数学成绩'] <= Key_y]
print(Result_2)

print("-" * 10)

## 使用quantile函数计算25%的分位数,筛选出“数学成绩”小于或等于分位数的学生:
Key_z = df['数学成绩'].quantile(0.25)
Result_3 = df[df['数学成绩'] <= Key_z]
print(Result_3)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
            语文成绩  数学成绩  英语成绩
李大杰           110       113       102
李小明           118        98       119
Jacky            128        76       120
zhuohua wu        18       120        19
----------
----------
        语文成绩  数学成绩  英语成绩
李大杰       110       113       102
李小明       118        98       119
Jacky        128        76       120
----------
        语文成绩  数学成绩  英语成绩
李小明       118        98       119
Jacky        128        76       120
----------
       语文成绩  数学成绩  英语成绩
Jacky       128        76       120

C:\Users\jacky\Desktop>



######

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

df=pd.DataFrame(
{
'样品1':[1,2]
})

print('输出样品的两个数值之间的50%的分位数:')
Key_x = 0.5
Result_1 = df.quantile(Key_x,numeric_only=False)
print(Result_1)

print("-" * 10)

print('输出样品的两个数值之间的25%的分位数:')
Result_2 = df.quantile(0.25,numeric_only=False)
print(Result_2)

print("-" * 3)
print(Result_2[0])
print(type(Result_2[0]))

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
输出样品的两个数值之间的50%的分位数:
样品1    1.5
Name: 0.5, dtype: float64
----------
输出样品的两个数值之间的25%的分位数:
样品1    1.25
Name: 0.25, dtype: float64
---
1.25
<class 'numpy.float64'>

C:\Users\jacky\Desktop>



######

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

df=pd.DataFrame(
{
'样品1':[1,2],
'样品2':[100,200],
'样品3':[105,200.5]
})

print('分别输出不同样品的两个数值之间的50%的分位数:')
Result_1 = df.quantile(0.5,numeric_only=False)
print(Result_1)

print("-" * 10)
print("-" * 10)

print('分别输出不同样品的两个数值之间的35%的分位数:')
Result_2 = df.quantile(0.35,numeric_only=False)
print(Result_2)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
分别输出不同样品的两个数值之间的50%的分位数:
样品1      1.50
样品2    150.00
样品3    152.75
Name: 0.5, dtype: float64
----------
----------
分别输出不同样品的两个数值之间的35%的分位数:
样品1      1.350
样品2    135.000
样品3    138.425
Name: 0.35, dtype: float64

C:\Users\jacky\Desktop>



######

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

df=pd.DataFrame(
{
'样品1':[pd.Timestamp('2018'),pd.Timestamp('2019')]
})

print('输出样品的两个时间之间的50%的分位数:')
Result_1 = df.quantile(0.5,numeric_only=False)
print(Result_1)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
输出样品的两个时间之间的50%的分位数:
样品1   2018-07-02 12:00:00
Name: 0.5, dtype: datetime64[ns]

C:\Users\jacky\Desktop>



######

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

df=pd.DataFrame(
{
'样品1':[pd.Timestamp('2018-1-1'),pd.Timestamp('2019-1-1')]
})

print('输出样品的两个时间之间的50%的分位数:')
Result_1 = df.quantile(0.5,numeric_only=False)
print(Result_1)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
输出样品的两个时间之间的50%的分位数:
样品1   2018-07-02 12:00:00
Name: 0.5, dtype: datetime64[ns]

C:\Users\jacky\Desktop>



######

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

df=pd.DataFrame(
{
'样品1':[pd.Timestamp('2018-1-1 0:12:23'),pd.Timestamp('2019-1-1 0:16:23')]
})

print('输出样品的两个时间之间的50%的分位数:')
Result_1 = df.quantile(0.5,numeric_only=False)
print(Result_1)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
输出样品的两个时间之间的50%的分位数:
样品1   2018-07-02 12:14:23
Name: 0.5, dtype: datetime64[ns]

C:\Users\jacky\Desktop>



######

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

df=pd.DataFrame(
{
'样品1':[pd.Timestamp('0:12:23'),pd.Timestamp('0:16:23')]
})

print('输出样品的两个时间之间的50%的分位数:')
Result_1 = df.quantile(0.5,numeric_only=False)
print(Result_1)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
输出样品的两个时间之间的50%的分位数:
样品1   2023-09-02 00:14:23
Name: 0.5, dtype: datetime64[ns]

C:\Users\jacky\Desktop>



######

#coding=utf-8

import pandas as pd

pd.set_option('display.unicode.east_asian_width',True)

df=pd.DataFrame(
{
'样品1':[pd.Timedelta('1 days'),pd.Timedelta('2 days')]
})

print('输出样品的两个时间之间的50%的分位数:')
Result_1 = df.quantile(0.5,numeric_only=False)
print(Result_1)

print("-" * 10)
print("-" * 10)

print('输出样品的两个时间之间的25%的分位数:')
Result_2 = df.quantile(0.25,numeric_only=False)
print(Result_2)

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
输出样品的两个时间之间的50%的分位数:
样品1   1 days 12:00:00
Name: 0.5, dtype: timedelta64[ns]
----------
----------
输出样品的两个时间之间的25%的分位数:
样品1   1 days 06:00:00
Name: 0.25, dtype: timedelta64[ns]

C:\Users\jacky\Desktop>










######
######

#coding=utf-8
import pandas as pd

class class1():  #自定义一个类

        def func1(self):

                pd.set_option('display.unicode.east_asian_width',True)

                #使用字典创建DataFrame数据
                df=pd.DataFrame(
                {
                '语文成绩':[110,105,99.5],
                '数学成绩':[105,88,115],
                '英语成绩':[109,120,130],
                '年龄':[18,10,20],
                '班级':['三年一班','三年二班','三年二班']
                },
                index=['李大杰','Jacky','zhuohua'])

                print(df)

                print("-" * 10)
               
                ## 删除列标题为“年龄”的数据:
                df.drop(['年龄'],axis=1,inplace=True)
               
                print(df)
               
                print("-" * 10)

                df['总成绩'] = df.sum(axis=1) #按行求和
               
                print(df)

                print("-" * 10)
                print("-" * 10)
               
                ## 导出到指定的txt文件:
                df.to_csv('d:/a.txt',sep='\t',index=True,header=True) #保留索引、列标题
               
                self.func2() #执行func2()
               
        def func2(self):
       
                pd.set_option('display.unicode.east_asian_width',True)

                df = pd.read_csv('d:/a.txt',sep='\t',encoding='utf-8') #导入指定的txt文件

                print(df)

                print("-" * 10)
               
                ## 修改一个列标题
                df.rename(columns={'Unnamed: 0':'姓名'},inplace=True)
                print(df)
               
                print("-" * 10)

                print("分别输出各个学生的班级、总成绩:")

                ## 一次性删除列标题为“英语成绩”、“语文成绩”、“数学成绩”的数据:
                df.drop(['英语成绩','语文成绩','数学成绩'],axis=1,inplace=True)

                print(df)
               
                print("-" * 10)

                ## 不输出索引:
                df = df.to_string(index=False)
                print(df)
               
if __name__ == '__main__':

        myclass = class1()
        myclass.func1()

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
         语文成绩  数学成绩  英语成绩  年龄      班级
李大杰      110.0       105       109    18  三年一班
Jacky       105.0        88       120    10  三年二班
zhuohua      99.5       115       130    20  三年二班
----------
         语文成绩  数学成绩  英语成绩      班级
李大杰      110.0       105       109  三年一班
Jacky       105.0        88       120  三年二班
zhuohua      99.5       115       130  三年二班
----------
         语文成绩  数学成绩  英语成绩      班级  总成绩
李大杰      110.0       105       109  三年一班   324.0
Jacky       105.0        88       120  三年二班   313.0
zhuohua      99.5       115       130  三年二班   344.5
----------
----------
  Unnamed: 0  语文成绩  数学成绩  英语成绩      班级  总成绩
0     李大杰     110.0       105       109  三年一班   324.0
1      Jacky     105.0        88       120  三年二班   313.0
2    zhuohua      99.5       115       130  三年二班   344.5
----------
      姓名  语文成绩  数学成绩  英语成绩      班级  总成绩
0   李大杰     110.0       105       109  三年一班   324.0
1    Jacky     105.0        88       120  三年二班   313.0
2  zhuohua      99.5       115       130  三年二班   344.5
----------
分别输出各个学生的班级、总成绩:
      姓名      班级  总成绩
0   李大杰  三年一班   324.0
1    Jacky  三年二班   313.0
2  zhuohua  三年二班   344.5
----------
    姓名      班级  总成绩
  李大杰  三年一班   324.0
   Jacky  三年二班   313.0
zhuohua  三年二班   344.5

C:\Users\jacky\Desktop>



######

#coding=utf-8
import pandas as pd

class class1(): #自定义一个类

        def func1(self):

                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['最高成绩'] = df.max(axis=1) #按行求最大值

                print(df)

                print("-" * 10)
                print("-" * 10)
               
                ## 导出到指定的txt文件:
                df.to_csv('d:/a.txt',sep='\t',index=True,header=True) #保留索引、列标题
               
                self.func2() #执行func2()
               
        def func2(self):
       
                pd.set_option('display.unicode.east_asian_width',True)

                df = pd.read_csv('d:/a.txt',sep='\t',encoding='utf-8') #导入指定的txt文件

                print(df)

                print("-" * 10)
               
                ## 修改一个列标题
                df.rename(columns={'Unnamed: 0':'姓名'},inplace=True)
                print(df)
               
                print("-" * 10)
               
                ## 按“班级”进行分组后求最大值:
                df = df.groupby('班级').max()

                print(df)
               
                print("-" * 10)

                print("分别输出各班级的最高成绩:")

                ## 一次性删除列标题为“英语成绩”、“语文成绩”、“数学成绩”的数据:
                df.drop(['英语成绩','语文成绩','数学成绩'],axis=1,inplace=True)

                print(df)

if __name__ == '__main__':

        myclass = class1()
        myclass.func1()

脚本运行的结果:
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  三年一班     110.0
Jacky       105.0        88       120  三年二班     120.0
zhuohua      99.5       115       130  三年二班     130.0
----------
----------
  Unnamed: 0  语文成绩  数学成绩  英语成绩      班级  最高成绩
0     李大杰     110.0       105       109  三年一班     110.0
1      Jacky     105.0        88       120  三年二班     120.0
2    zhuohua      99.5       115       130  三年二班     130.0
----------
      姓名  语文成绩  数学成绩  英语成绩      班级  最高成绩
0   李大杰     110.0       105       109  三年一班     110.0
1    Jacky     105.0        88       120  三年二班     120.0
2  zhuohua      99.5       115       130  三年二班     130.0
----------
             姓名  语文成绩  数学成绩  英语成绩  最高成绩
班级
三年一班   李大杰     110.0       105       109     110.0
三年二班  zhuohua     105.0       115       130     130.0
----------
分别输出各班级的最高成绩:
             姓名  最高成绩
班级
三年一班   李大杰     110.0
三年二班  zhuohua     130.0

C:\Users\jacky\Desktop>



######

#coding=utf-8
import pandas as pd

class class1(): #自定义一个类

        def func1(self):

                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['最低成绩'] = df.min(axis=1) #按行求最小值

                print(df)

                print("-" * 10)
                print("-" * 10)
               
                ## 导出到指定的txt文件:
                df.to_csv('d:\\a.txt',sep='\t',index=True,header=True) #保留索引、列标题
               
                self.func2() #执行func2()
               
        def func2(self):
       
                pd.set_option('display.unicode.east_asian_width',True)
               
                df = pd.read_csv('d:\\a.txt',sep='\t',encoding='utf-8') #导入指定的txt文件

                print(df)

                print("-" * 10)
               
                ## 修改一个列标题
                df.rename(columns={'Unnamed: 0':'姓名'},inplace=True)
                print(df)
               
                print("-" * 10)
               
                ## 按“班级”进行分组后求最小值:
                df = df.groupby('班级').min()

                print(df)
               
                print("-" * 10)

                print("分别输出各班级的最低成绩:")

                ## 一次性删除列标题为“英语成绩”、“语文成绩”、“数学成绩”的数据:
                df.drop(['英语成绩','语文成绩','数学成绩'],axis=1,inplace=True)

                print(df)
               
                self.df = df
               
                self.func3() #执行func3()

        def func3(self):
       
                print("-" * 3)

                self.df.sort_values(by='最低成绩',ascending=True, inplace=True) #按“最低成绩”进行排序(升序)
               
                print(self.df)
               
if __name__ == '__main__':

        myclass = class1()
        myclass.func1()

脚本运行的结果:
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  三年一班     105.0
Jacky       105.0        88       120  三年二班      88.0
zhuohua      99.5       115       130  三年二班      99.5
----------
----------
  Unnamed: 0  语文成绩  数学成绩  英语成绩      班级  最低成绩
0     李大杰     110.0       105       109  三年一班     105.0
1      Jacky     105.0        88       120  三年二班      88.0
2    zhuohua      99.5       115       130  三年二班      99.5
----------
      姓名  语文成绩  数学成绩  英语成绩      班级  最低成绩
0   李大杰     110.0       105       109  三年一班     105.0
1    Jacky     105.0        88       120  三年二班      88.0
2  zhuohua      99.5       115       130  三年二班      99.5
----------
            姓名  语文成绩  数学成绩  英语成绩  最低成绩
班级
三年一班  李大杰     110.0       105       109     105.0
三年二班   Jacky      99.5        88       120      88.0
----------
分别输出各班级的最低成绩:
            姓名  最低成绩
班级
三年一班  李大杰     105.0
三年二班   Jacky      88.0
---
            姓名  最低成绩
班级
三年二班   Jacky      88.0
三年一班  李大杰     105.0

C:\Users\jacky\Desktop>



######

#coding=utf-8
import pandas as pd

class class1(): #自定义一个类

        def func1(self):

                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)
               
                ## 导出到指定的txt文件:
                df.to_csv('d:/a.txt',sep='\t',index=True,header=True) #保留索引、列标题
               
                self.func2() #执行func2()
               
        def func2(self):
       
                pd.set_option('display.unicode.east_asian_width',True)

                df = pd.read_csv('d:/a.txt',sep='\t',encoding='utf-8') #导入指定的txt文件

                print(df)

                print("-" * 10)
               
                ## 修改一个列标题
                df.rename(columns={'Unnamed: 0':'姓名'},inplace=True)
                print(df)
               
                print("-" * 10)
               
                print("分别输出各班级的“英语成绩”的最高成绩:")
               
                ## 按“班级”进行分组后求最大值:
                df = df.groupby('班级').max()

                print(df)

if __name__ == '__main__':

        myclass = class1()
        myclass.func1()

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
         语文成绩  数学成绩  英语成绩      班级
李大杰      110.0       105       109  三年一班
Jacky       105.0        88       120  三年二班
zhuohua      99.5       115       130  三年二班
----------
         英语成绩      班级
李大杰        109  三年一班
Jacky         120  三年二班
zhuohua       130  三年二班
----------
----------
  Unnamed: 0  英语成绩      班级
0     李大杰       109  三年一班
1      Jacky       120  三年二班
2    zhuohua       130  三年二班
----------
      姓名  英语成绩      班级
0   李大杰       109  三年一班
1    Jacky       120  三年二班
2  zhuohua       130  三年二班
----------
分别输出各班级的“英语成绩”的最高成绩:
             姓名  英语成绩
班级
三年一班   李大杰       109
三年二班  zhuohua       130

C:\Users\jacky\Desktop>



######

#coding=utf-8
import pandas as pd

class class1(): #自定义一个类

        def func1(self):

                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)
               
                ## 导出到指定的txt文件:
                df.to_csv('d:\\a.txt',sep='\t',index=True,header=True) #保留索引、列标题
               
                self.func2() #执行func2()
               
        def func2(self):
       
                pd.set_option('display.unicode.east_asian_width',True)
               
                df = pd.read_csv('d:\\a.txt',sep='\t',encoding='utf-8') #导入指定的txt文件

                print(df)

                print("-" * 10)
               
                ## 修改一个列标题
                df.rename(columns={'Unnamed: 0':'姓名'},inplace=True)
                print(df)
               
                print("-" * 10)
               
                print("分别输出各班级的“英语成绩”的最低成绩:")
               
                ## 按“班级”进行分组后求最小值:
                df = df.groupby('班级').min()

                print(df)
               
                self.df = df
               
                self.func3() #执行func3()

        def func3(self):
       
                print("-" * 3)

                self.df.sort_values(by='英语成绩',ascending=False, inplace=True) #按“英语成绩”进行排序(降序)
               
                print(self.df)
               
if __name__ == '__main__':

        myclass = class1()
        myclass.func1()

脚本运行的结果:
C:\Users\jacky\Desktop>python xx.py
         语文成绩  数学成绩  英语成绩      班级
李大杰      110.0       105       109  三年一班
Jacky       105.0        88       120  三年二班
zhuohua      99.5       115       130  三年二班
----------
         英语成绩      班级
李大杰        109  三年一班
Jacky         120  三年二班
zhuohua       130  三年二班
----------
----------
  Unnamed: 0  英语成绩      班级
0     李大杰       109  三年一班
1      Jacky       120  三年二班
2    zhuohua       130  三年二班
----------
      姓名  英语成绩      班级
0   李大杰       109  三年一班
1    Jacky       120  三年二班
2  zhuohua       130  三年二班
----------
分别输出各班级的“英语成绩”的最低成绩:
            姓名  英语成绩
班级
三年一班  李大杰       109
三年二班   Jacky       120
---
            姓名  英语成绩
班级
三年二班   Jacky       120
三年一班  李大杰       109

C:\Users\jacky\Desktop>





相关文章:
Pandas的基础
Pandas的日期时间数据转换

自定义类

返回列表