python笔记:3.2.1.1pandas数据结构_DataFrame索引和切片

博客展示了使用字典创建DataFrame的示例,包含学生姓名、科目和成绩信息。还介绍了多种数据提取操作,如按列提取、按索引范围提取、提取不连续的行列,以及根据成绩条件筛选数据等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

# -*- coding: utf-8 -*-
"""
Created on Thu May 23 10:34:11 2019

@author: User
"""

import pandas as pd

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]}

scoresheet=pd.DataFrame(dfdata)
print(scoresheet)

print('\nscoresheet.Subject:')
scoresheet.index=(['No1','No2','No3','No4','No5','No6'])
print(scoresheet.Subject)

print("\nscoresheet[['Name','Score']]:")
print(scoresheet[['Name','Score']])

print("\nscoresheet[:'No4']")
print(scoresheet[:'No4'])

print("\nscoresheet.loc[['No1','No3','No4']]")
print(scoresheet.loc[['No1','No3','No4']])

print("\nscoresheet.ix[3:6, ['Name','Score']]:")
print(scoresheet.ix[3:6, ['Name','Score']])

print("\niloc[[1,4,5], [0,2]] 提取不连续的行列:")
print(scoresheet.iloc[[1,4,5], [0,2]])

print("\nscoresheet.loc[['No1','No3','No4'], ['Name','Score']] 用索引标签提取不连续的行列:")
print(scoresheet.loc[['No1','No3','No4'], ['Name','Score']])

print("\nscoresheet[(scoresheet.Score>80) & (scoresheet.Score<=90)]:")
print(scoresheet[(scoresheet.Score>80) & (scoresheet.Score<=90)])

运行:

使用字典创建DataFram
        Name     Subject  Score
0  Zhang San  Literature     98
1      Li Si     History     76
2    Wang Wu     English     84
3   Zhao Liu       Maths     70
4    Qian Qi     Physics     93
5     Sun Ba     Chemics     83

scoresheet.Subject:
No1    Literature
No2       History
No3       English
No4         Maths
No5       Physics
No6       Chemics
Name: Subject, dtype: object

scoresheet[['Name','Score']]:
          Name  Score
No1  Zhang San     98
No2      Li Si     76
No3    Wang Wu     84
No4   Zhao Liu     70
No5    Qian Qi     93
No6     Sun Ba     83

scoresheet[:'No4']
          Name     Subject  Score
No1  Zhang San  Literature     98
No2      Li Si     History     76
No3    Wang Wu     English     84
No4   Zhao Liu       Maths     70

scoresheet.loc[['No1','No3','No4']]
          Name     Subject  Score
No1  Zhang San  Literature     98
No3    Wang Wu     English     84
No4   Zhao Liu       Maths     70

scoresheet.ix[3:6, ['Name','Score']]:
         Name  Score
No4  Zhao Liu     70
No5   Qian Qi     93
No6    Sun Ba     83

iloc[[1,4,5], [0,2]] 提取不连续的行列:
        Name  Score
No2    Li Si     76
No5  Qian Qi     93
No6   Sun Ba     83

scoresheet.loc[['No1','No3','No4'], ['Name','Score']] 用索引标签提取不连续的行列:
          Name  Score
No1  Zhang San     98
No3    Wang Wu     84
No4   Zhao Liu     70

scoresheet[(scoresheet.Score>80) & (scoresheet.Score<=90)]:
        Name  Subject  Score
No3  Wang Wu  English     84
No6   Sun Ba  Chemics     83

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值