######
#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的日期时间数据转换
自定义类 |