# -*- coding: utf-8 -*-
"""
Created on Thu May 23 11:03:46 2019
@author: User
"""
import pandas as pd
import numpy as np
print('\n 使用字典创建DataFram')
dfdata={'Name':['Zhang San','Li Si','Wang Wu','Zhao Liu','Qian Qi','Sun Ba'],
'Subject':['Literature','History','English','Maths','Physics','Chemics'],
'Score':[98,76,84,70,93,83]}
print('\n 指定列顺序:')
scoresheet=pd.DataFrame(dfdata,columns=['ID','Name','Subject','Score'],
index=['No1','No2','No3','No4','No5','No6'])
print(scoresheet)
print('\n reindex 对列重新索引:')
print(scoresheet.reindex(columns=['Name','Subject','ID','Score']))
print('\n 新增加一列:')
scoresheet['Homeword']=90
print(scoresheet)
print('\n 修改列名称 rename(columns={\'Homeword\':\'Homework\'},inplace=True):')
scoresheet.rename(columns={'Homeword':'Homework'},inplace=True)
print(scoresheet)
print('\n 对列赋值 scoresheet[\'ID\']=np.arange(6):')
scoresheet['ID']=np.arange(6)
print(scoresheet)
print('\n 用Series来修改部分数据:------------------')
fixed=pd.Series([97,76,83],index=['No1','No3','No6'])
scoresheet['Homework']=fixed
print(scoresheet)
print('\n del 删除指定列:del scoresheet[\'Homework\']:')
del scoresheet['Homework']
print(scoresheet)
print("\n drop 删除指定列:scoresheet.drop('ID',axis=1,inplace=True):")
scoresheet.drop('ID',axis=1,inplace=True)
print(scoresheet)
print("\n drop 删除指定行:scoresheet.drop(['No1','No3','No6'],axis=0,inplace=True):")
scoresheet.drop(['No1','No3','No6'],axis=0,inplace=True)
print(scoresheet)
运行:
使用字典创建DataFram
指定列顺序:
ID Name Subject Score
No1 NaN Zhang San Literature 98
No2 NaN Li Si History 76
No3 NaN Wang Wu English 84
No4 NaN Zhao Liu Maths 70
No5 NaN Qian Qi Physics 93
No6 NaN Sun Ba Chemics 83
reindex 对列重新索引:
Name Subject ID Score
No1 Zhang San Literature NaN 98
No2 Li Si History NaN 76
No3 Wang Wu English NaN 84
No4 Zhao Liu Maths NaN 70
No5 Qian Qi Physics NaN 93
No6 Sun Ba Chemics NaN 83
新增加一列:
ID Name Subject Score Homeword
No1 NaN Zhang San Literature 98 90
No2 NaN Li Si History 76 90
No3 NaN Wang Wu English 84 90
No4 NaN Zhao Liu Maths 70 90
No5 NaN Qian Qi Physics 93 90
No6 NaN Sun Ba Chemics 83 90
修改列名称 rename(columns={'Homeword':'Homework'},inplace=True):
ID Name Subject Score Homework
No1 NaN Zhang San Literature 98 90
No2 NaN Li Si History 76 90
No3 NaN Wang Wu English 84 90
No4 NaN Zhao Liu Maths 70 90
No5 NaN Qian Qi Physics 93 90
No6 NaN Sun Ba Chemics 83 90
对列赋值 scoresheet['ID']=np.arange(6):
ID Name Subject Score Homework
No1 0 Zhang San Literature 98 90
No2 1 Li Si History 76 90
No3 2 Wang Wu English 84 90
No4 3 Zhao Liu Maths 70 90
No5 4 Qian Qi Physics 93 90
No6 5 Sun Ba Chemics 83 90
用Series来修改部分数据:------------------
ID Name Subject Score Homework
No1 0 Zhang San Literature 98 97.0
No2 1 Li Si History 76 NaN
No3 2 Wang Wu English 84 76.0
No4 3 Zhao Liu Maths 70 NaN
No5 4 Qian Qi Physics 93 NaN
No6 5 Sun Ba Chemics 83 83.0
del 删除指定列:del scoresheet['Homework']:
ID Name Subject Score
No1 0 Zhang San Literature 98
No2 1 Li Si History 76
No3 2 Wang Wu English 84
No4 3 Zhao Liu Maths 70
No5 4 Qian Qi Physics 93
No6 5 Sun Ba Chemics 83
drop 删除指定列:scoresheet.drop('ID',axis=1,inplace=True):
Name Subject Score
No1 Zhang San Literature 98
No2 Li Si History 76
No3 Wang Wu English 84
No4 Zhao Liu Maths 70
No5 Qian Qi Physics 93
No6 Sun Ba Chemics 83
drop 删除指定行:scoresheet.drop(['No1','No3','No6'],axis=0,inplace=True):
Name Subject Score
No2 Li Si History 76
No4 Zhao Liu Maths 70
No5 Qian Qi Physics 93