ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python-pandas库

2021-08-24 23:04:44  阅读:209  来源: 互联网

标签:loc index python 天气情况 查询 print 2011 pandas


Series和DataFrame之间概念区别

Series 一维数据,一行或者一列

1.1 创建一个Series,可以用列表或者一个字典,如果是列表,index值默认就是自增的id,当然也可以指定index

p = pd.Series([1,2,3,"four","5",6.0],index=["第1个","第2个","第3个","第4个","第5个","第6个"])
# print(p.index)  # Index(['第1个', '第2个', '第3个', '第4个', '第5个', '第6个'], dtype='object') 是个列表可以按列表取值
# print(p.values) #[1 2 3 'four' '5' 6.0]

1.2 也可以用一个字段创建,key就是index,value就是value,字典的形式serise被包含在一个元祖内.
p1 = pd.Series({"第一个":1,"第二个":2,"第三个":3,"第四个":"four","第五个":5.0}),

2.1 数据查询

print(p[["第1个","第2个"]]) #查询多个值,返回的是series
print(p["第1个"]) #查询一个值返回的就是那个值本身

DataFrame 二维数据或者多维的数据,多行多列,除了index行索引外,还有个columns列索引

1.1 创建一个DataFrame,用字典形式创建,key值变成列索引

1.2 从excel csv txt文本读取也是返回一个DataFrame对象

2.1 从DataFrame对象中读取一个Series对象
查询列

print(d1["第一列"])
print(d1[["第一列","第二列"]])

查询行

print(d1.loc[1:]) 
print(d1.loc[:2])
print(d1.loc[0:4]) #和python语法不同,loc是闭区间.

查询数据的方法

用读取csv,并且设置日期为首列为例

p = pd.read_csv(pth,encoding="gbk",)
p.set_index("日期",inplace=True)
print(p.head(10)) #数据如下

一. df.loc

#1.1使用单个label查询数值  行或者列,传入单个值,精确匹配,得到一个值
print(p.loc["2011/3/1","天气情况"])     #>>>> 多云
#使用多个label查询数值 ,传入多个值,得到一个series
print(p.loc["2011/3/1",["天气情况","最高温度"]])
'''
天气情况    多云
最高温度    5℃
Name: 2011/3/1, dtype: object
'''
# 1.2使用多个值批量查询
print(p.loc[["2011/3/1","2011/3/3"],"天气情况"])

'''
日期
2011/3/1    多云
2011/3/3     晴
Name: 天气情况, dtype: object
'''
#1.3使用值的区间查询
#行index按区间查询
print(p.loc["2011/3/1":"2011/3/3","天气情况"])

#列index按区间查询
print(p.loc["2011/3/1","最低温度":"天气情况":])

#行和列都按区间查询,返回一个DataFrame
print(p.loc["2011/3/1":"2011/3/3","最低温度":"天气情况":])

#1.4使用条件表达式查询 找到天气情况为乌云的所有列表数据
print(p.loc[p["天气情况"] =="多云",:])
#多个条件用逻辑符号,每个条件用括号包裹进行过滤
print(p.loc[(p["天气情况"] =="多云") |( p["天气情况"] =="晴~多云"),:])

#1.5使用函数形式进行条件查询
print(p.loc[lambda x:(x["天气情况"] =="多云") |( x["天气情况"] =="晴~多云"),:])

#1.6使用自定义函数形式进行条件查询 
#df默认index是日期,把日期强转字符串,过滤出2011年的天气晴的日期
def aa(df):
    return (df.index.str.startswith("2011")) & (df["天气情况"] =="晴")
print(p.loc[aa, :])

标签:loc,index,python,天气情况,查询,print,2011,pandas
来源: https://www.cnblogs.com/Young-shi/p/15182941.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有