python笔记:3.2.1.1pandas数据结构_DataFrame行列操作

# -*- 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
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值