初探pandas——索引和查询数据

索引

import pandas as pd
ser=pd.Series(range(0,10,2))

print(ser)
0    0
1    2
2    4
3    6
4    8
dtype: int64

通过索引值或索引标签获取数据

通过index查看索引值

print(ser.index)
RangeIndex(start=0, stop=5, step=1)

自定义索引值

ser.index=['a','b','c','d','f']
print(ser)
a    0
b    2
c    4
d    6
f    8
dtype: int64

通过索引值和索引标签获取数据

print('ser[3]:',ser[3])
print('ser[d]:',ser['d'])
print('ser[[1,2,3]]:',ser[[1,2,3]])
print("ser[['a','b','c']]:",ser[['a','b','c']])
print('ser[3:]:',ser[3:])
ser[3]: 6
ser[d]: 6
ser[[1,2,3]]: b    2
c    4
d    6
dtype: int64
ser[['a','b','c']]: a    0
b    2
c    4
dtype: int64
ser[3:]: d    6
f    8
dtype: int64

自动化对齐

如果对两个序列进行运算,索引就会将元素对齐进行运算

a=pd.Series([1,2,3,4,5,6],index=['a','b','c','d','f','g'])
print(a)

b=pd.Series([4,5,6,7,8,9],index=['g','f','d','c','b','a'])
print(b)

print(a+b)
a    1
b    2
c    3
d    4
f    5
g    6
dtype: int64
g    4
f    5
d    6
c    7
b    8
a    9
dtype: int64
a    10
b    10
c    10
d    10
f    10
g    10
dtype: int64

利用pandas查询数据

import pandas as pd

stu_dic={
    'name':['a','b','c','d','e','f','g','h'],
    'age':[18,15,45,56,89,78,45,12],
    'sex':['f','m','m','f','f','f','m','m']
}

student=pd.DataFrame(stu_dic)
print(student)
  name  age sex
0    a   18   f
1    b   15   m
2    c   45   m
3    d   56   f
4    e   89   f
5    f   78   f
6    g   45   m
7    h   12   m

查询数据前5行或后5行

# 查询前5行
student.head()

# 查询后5行
student.tail()
# 查询前5行
print(student.head())

print('* '*10)

#查询后5行
print(student.tail())
  name  age sex
0    a   18   f
1    b   15   m
2    c   45   m
3    d   56   f
4    e   89   f
* * * * * * * * * * 
  name  age sex
3    d   56   f
4    e   89   f
5    f   78   f
6    g   45   m
7    h   12   m

查询指定的行

student.loc[[1,2,3]]

loc标签索引函数必须是中括号

# 查询第1,2,3行
print(student.loc[[1,2,3]])
  name  age sex
1    b   15   m
2    c   45   m
3    d   56   f

查询指定的列

student[['name','age']]

如果查询多个列,必须使用双重中括号

# 查询name,age列
print(student[['name','age']])
  name  age
0    a   18
1    b   15
2    c   45
3    d   56
4    e   89
5    f   78
6    g   45
7    h   12

查询18岁以上女生信息

student[(student['sex']=='f')&(student['age']>=18)]
print(student[(student['sex']=='f')&(student['age']>=18)])
  name  age sex
0    a   18   f
3    d   56   f
4    e   89   f
5    f   78   f
posted @   LRainner  阅读(362)  评论(0编辑  收藏  举报
编辑推荐:
· DeepSeek 解答了困扰我五年的技术问题
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
阅读排行:
· DeepSeek 解答了困扰我五年的技术问题。时代确实变了!
· PPT革命!DeepSeek+Kimi=N小时工作5分钟完成?
· What?废柴, 还在本地部署DeepSeek吗?Are you kidding?
· DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地
· 程序员转型AI:行业分析
点击右上角即可分享
微信分享提示