- VisualStudio2022插件的安装及使用-编程手把手系列文章
- pprof-在现网场景怎么用
- C#实现的下拉多选框,下拉多选树,多级节点
- 【学习笔记】基础数据结构:猫树
Series是一种类似与一维数组的对象,由下面两个部分组成:
Series的创建 。
from pandas import Series
s = Series(data=[1,2,3,'four]) # 创建一个有索引的数据
s
代码结果:
0 1
1 2
2 3
3 four
dtype: object
import numpy as np
s = Series(data = np.random.randint(0,100,size=(3,))) # 使用numpy模块和pandas模块中的Series类,创建一个3行0列的简单表格
s
代码结果:
0 3
1 43
2 82
dtype: int64
from pandas import Series
s = Series(data=[1,2,3,'four'],index=['a','b','c','d']) # 创建一个表格,行索引是a,b,c,d 对应的值是data中的元素
s
代码结果:
a 1
b 2
c 3
d four
dtype: object
form pandas import Series
dic ={
'语文':100,
'数学':120,
'英语':125,
}
s = Series(data=dic)
s
代码结果:
语文 100
数学 99
理综 250
dtype: int64
from pandas import Series
dic = {
'语文':100,
'数学':120,
'英语':125
}
s = Series(data=dic)
s
代码结果:
语文 100
数学 120
理综 125
dtype: int64
s[0] # 取出索引为0,第一行语文的数据
s.语文 # 直接取出语文这一行的数据
s.[0:2] # 取出索引0-2的数据,就是语文、数学这两行
head(),tail() 。
unique() 。
isnull(),notnull() 。
add() sub() mul() div() 。
import numpy as np
from pandas import Series
s = Series(data = np.random.randint(1,100),size=(4,))
代码结果:
0 12
1 51
2 50
3 96
dtype: int32
s.head(2) # 显示前2行的数据
代码结果:
0 12
1 51
dtype: int32
s.tail(2) # 显示后3个数据
代码结果:
0 12
1 51
dtype: int32
s.unique() # 去重
代码结果:
array([12, 51, 50, 96])
s.isnull() # 用于判断每一个元素是否为空,为空返回True,否则返回False
代码结果:
0 False
1 False
2 False
3 False
dtype: bool
s.notnull()
代码结果:
0 False
1 False
2 False
3 False
dtype: bool
DataFrame是一个【表格型】的数据结构。DataFrame由按一定顺序排列的多列数据组成。设计初衷是将Series的使用场景从一维拓展到多维。DataFrame既有行索引,也有列索引.
DataFrame的创建 。
from pandas import DataFrame
df = DataFrame(data=([1,2,3],[1,2,3])) 创建一个二维的表格
df
代码结果:
| 0 | 1 | 2 |
| ---- | ---- | ---- |
| 0 | 1 | 2 |
| 1 | 1 | 2 |
from pandas import DataFrame
import numpy as np
df = DataFrame(data=np.random.randint(1,100,size=(3,4)))
df
代码结果:
| 0 | 1 | 2 | 3 |
| ---- | ---- | ---- | ---- |
| 0 | 9 | 68 | 39 |
| 1 | 86 | 83 | 53 |
| 2 | 68 | 82 | 80 |
import numpy as np
from pandas import DataFrame
dic = {
'name':['zt','cy','xcy'],
'salary':[1000,2000,3000]
}
df = DataFrame(data=dic,index=['a','b','c'])
df
代码结果:
| -----| name | salary |
| ---- | ------ | ----- |
| a | zt | 1000 |
| b | cy | 2000 |
| c | xcy | 3000 |
values、columns、index、shape 。
df.values:
array([['zt', 1000],
['cy', 2000],
['xcy', 3000]], dtype=object)
df.columns:
Index(['name', 'salary'], dtype='object')
df.index:
Index(['a', 'b', 'c'], dtype='object')
</details>
df.shape:
(3, 2)
练习: 根据以下考试成绩表,创建一个DataFrame,命名为df:
张三 李四
语文 150 0
数学 150 0
英语 150 0
理综 300 0
import numpy as np
from pandas import DataFrame
dic = {
'张三':[150,150,150,150],
'李四':[0,0,0,0],
}
df = DataFrame(data=dic,index=['语文','数学','英语','理综'])
df
import numpy as np
from pandas import DataFrame
df = DataFrame(data = np.random.randint(1,100,size=(4,5)),index=['a','b','c','d'])
df
代码结果:
| 0 | 1 | 2 | 3 | 4 |
| ---- | ---- | ---- | ---- | ---- |
| a | 72 | 4 | 35 | 97 |
| b | 53 | 36 | 4 | 75 |
| c | 65 | 35 | 25 | 55 |
| d | 8 | 68 | 52 | 33 |
import numpy as np
from pandas import DataFrame
df = DataFrame(data = np.random.randint(1,100,size=(9,5)),columns=['a','b','c','d','e'])
df
代码结果:
| a | b | c | d | e |
| ---- | ---- | ---- | ---- | ---- |
| 0 | 87 | 35 | 75 | 10 |
| 1 | 12 | 83 | 11 | 14 |
| 2 | 57 | 8 | 62 | 99 |
| 3 | 29 | 55 | 96 | 37 |
| 4 | 66 | 65 | 1 | 94 |
| 5 | 32 | 54 | 17 | 75 |
| 6 | 48 | 26 | 65 | 46 |
| 7 | 3 | 6 | 10 | 14 |
| 8 | 14 | 26 | 32 | 96 |
df['a'] # 取单列,如果df有显示的索引,通过索引机制去行或者列的时候只可以使用显示索引
df[['a','c']] # 取多列
iloc:
# 通过隐式索引取行
loc:
# 通过显示索引取行
df.loc[0] # 取单行
df.iloc[[0,3,5]] # 取多行
#取单个元素
df.iloc[0,2]
df.loc[0,'a']
#取多个元素
df.iloc[[1,3,5],2]
对行进行切片 。
| a | b | c | d |
| ---- | ---- | ---- | ---- |
| 0 | 95 | 87 | 83 |
| 1 | 76 | 82 | 78 |
| 2 | 69 | 94 | 89 |
| 3 | 74 | 77 | 93 |
| 4 | 75 | 88 | 93 |
| 5 | 67 | 98 | 66 |
| 6 | 95 | 83 | 71 |
| 7 | 72 | 74 | 79 |
df[0:2] # 切行
代码结果:
| a | b | c | d |
| ---- | ---- | ---- | ---- |
| 0 | 95 | 87 | 83 |
| 1 | 76 | 82 | 78 |
df.iloc[:,0:2] # 切列
代码结果:
| a | b |
| ---- | ---- |
| 0 | 95 |
| 1 | 76 |
| 2 | 69 |
| 3 | 74 |
| 4 | 75 |
| 5 | 67 |
| 6 | 95 |
| 7 | 72 |
对列进行切片 。
df.iloc[:,0:2] # 切列
代码结果:
| a | b |
| ---- | ---- |
| 0 | 95 |
| 1 | 76 |
| 2 | 69 |
| 3 | 74 |
| 4 | 75 |
| 5 | 67 |
| 6 | 95 |
| 7 | 72 |
1. 假设ddd是期中考试成绩,ddd2是期末考试成绩,请自由创建ddd2,并将其与ddd相加,求期中期末平均值。
import numpy as np
from pandas import DataFrame
dic1 ={
'张三':[150,150,150,150],
'李四':[0,0,0,0]
}
dic2={
'张三':[120,120,120,120],
'李四':[15,15,15,15]
}
ddd = DataFrame(data=dic1,index=['语文','数学','英语','理综'])
ddd2 = DataFrame(data=dic2,index=['语文','数学','英语','理综'])
(ddd + ddd2) / 2 # 其中期末的平均值
代码结果:
| 张三 | 李四 |
| ---- | ----- |
| 语文 | 135.0 |
| 数学 | 135.0 |
| 英语 | 135.0 |
| 理综 | 135.0 |
2. 假设张三期中考试数学被发现作弊,要记为0分,如何实现?
dd.loc['数学','张三'] = 0
ddd
代码结果:
| 张三 | 李四 |
| ---- | ---- |
| 语文 | 150 |
| 数学 | 0 |
| 英语 | 150 |
| 理综 | 150 |
3. 李四因为举报张三作弊立功,期中考试所有科目加100分,如何实现?
ddd['李四'] += 100
ddd
代码结果:
| 张三 | 李四 |
| ---- | ---- |
| 语文 | 150 |
| 数学 | 0 |
| 英语 | 150 |
| 理综 | 150 |
4. 后来老师发现有一道题出错了,为了安抚学生情绪,给每位学生每个科目都加10分,如何实现?
ddd += 10
ddd
代码结果:
| 张三 | 李四 |
| ---- | ---- |
| 语文 | 160 |
| 数学 | 10 |
| 英语 | 160 |
| 理综 | 160 |
将某一列设置为行索引 。
dic = {
'time':['2010-10-10','2011-11-20','2020-01-10'],
'temp':[33,31,30]
}
df = DataFrame(data=dic)
df
| | time | temp |
| ---- | ---------- | |
| 0 | 2010-10-10 | 33 |
| 1 | 2011-11-20 | 31 |
| 2 | 2020-01-10 | 30 |
#查看time列的类型
df['time'].dtype
dtype('O')
import pandas as pd
#将time列的数据类型转换成时间序列类型
df['time'] = pd.to_datetime(df['time'])
df['time']
#将time列作为源数据的行索引
df.set_index('time',inplace=True)
最后此篇关于数据分析---pandas模块的文章就讲到这里了,如果你想了解更多关于数据分析---pandas模块的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
1.摘要 在数据可视化、统计绘图和图表生成领域,Python 被广泛使用,其中 Matplotlib 是一个极其重要的基础三方库。本博客旨在介绍 Python 及其三方库 Matplotlib
为什么要学习pandas? numpy已经可以帮助我们进行数据的处理了,那么学习pandas的目的是什么呢? numpy能够帮助我们处理的是数值型的数据,当然在数据分析中除了数
0. 数据说明 本项目所用数据集包含了一个家庭6个月的用电数据,收集于2007年1月至2007年6月。 这些数据包括有功功率、无功功率、电压、电流强度、分项计量1(厨房)、分项计量2(洗衣房
由于我现在不知道自己在做什么,所以我的措辞听起来很有趣。但是说真的,我需要学习。 我面临的问题是提出一种方法(模型)来估计软件程序的工作方式:即运行时间和最大内存使用量。我已经拥有了大量数据。此数据集
我在 PostgreSQL 中有一个表,其结构和数据如下: Question | Answer | Responses ------------------------------
numbers = LabelEncoder() State_Data['Quality'] = numbers.fit_transform(State_Data['Quality Paramet
我一直在尝试解决这个问题: 我有一组数据点,对应于一组时间值。即 values =[1,2,3,4,5,6,7,8,4] times = [0.1,0.2,0.3,0.4]... 等等,这是一个示例速
哔哔一下 雪中悍刀行兄弟们都看过了吗?感觉看了个寂寞,但又感觉还行,原谅我没看过原著小说~ 豆瓣评分5.8,说明我还是没说错它的。 当然,这并不妨碍它波播放量嘎嘎上涨,半个月25亿播放,平均一集一个亿
在 Pandas 中是否有任何可重用的数据分析代码,可以在 html 输出中给出结果。 我已经尝试过来自以下链接的命令,但没有一个输出是 html 格式。 https://kite.com/blog/
吴京近年拍的影视都是非常富有国家情怀的,大人小孩都爱看,每次都是票房新高,最新的长津湖两部曲大家都有看吗,第一步还可以,第二部水门桥也不差,截止目前已经36.72亿票房。 某眼评分9.6,某瓣评分7.
我有一个 .csv 文件,其中包含来自 eBay 拍卖的以下数据: auctionid - 拍卖的唯一标识符 bidtime - 出价的时间(以天为单位),从拍卖开始 投标人 - 投标人的 eBay
目录 1、爬虫 1.1 爬取目标 1.2 分析页面 1.3 爬虫代码 1.4 结果数据
我是 pyspark 的新手,我有这个示例数据集: Ticker_Modelo Ticker Type Period Product Geography Source Unit
我是一名优秀的程序员,十分优秀!