pandas基础操作
```python
import pandas as pd
import numpy as np
``` ```python
s = pd.Series([1,3,6,np.nan,44,1])
s
------------
0 1.0
1 3.0
2 6.0
3 NaN
4 44.0
5 1.0
dtype: float64 ``` ```python
dates = pd.date_range('',periods=6)
dates
------------
DatetimeIndex(['2019-12-17', '2019-12-18', '2019-12-19', '2019-12-20',
'2019-12-21', '2019-12-22'],
dtype='datetime64[ns]', freq='D')
``` ```python
df = pd.DataFrame(np.random.randn(6,4),index=dates,columns=['a','b','c','d'])
df
-----------------
a b c d
2019-12-17 -0.148546 -0.693356 0.121830 -0.373264
2019-12-18 1.120692 1.023919 1.860231 -0.604606
2019-12-19 0.628022 -1.118451 2.173190 -1.822923
2019-12-20 0.133966 -1.366570 1.076824 0.395217
2019-12-21 1.433090 -1.166129 1.398020 0.118124
2019-12-22 0.707654 1.716963 -2.136076 0.758152
``` ```python
dates = pd.date_range('',periods=6)
df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates,columns=['A','B','C','D'])
df
----------------------------
A B C D
2019-12-17 0 1 2 3
2019-12-18 4 5 6 7
2019-12-19 8 9 10 11
2019-12-20 12 13 14 15
2019-12-21 16 17 18 19
2019-12-22 20 21 22 23
``` ```python
print(df['A'])
2019-12-17 0
2019-12-18 4
2019-12-19 8
2019-12-20 12
2019-12-21 16
2019-12-22 20
Freq: D, Name: A, dtype: int32
``` ```python
print(df[0:3])
-----------------------
A B C D
2019-12-17 0 1 2 3
2019-12-18 4 5 6 7
2019-12-19 8 9 10 11
``` ```python
print(df.loc['2019-12-17'])
----------------------
A 0
B 1
C 2
D 3
Name: 2019-12-17 00:00:00, dtype: int32
``` ```python
print(df.loc[:,['A','B']])
-------------------------
A B
2019-12-17 0 1
2019-12-18 4 5
2019-12-19 8 9
2019-12-20 12 13
2019-12-21 16 17
2019-12-22 20 21
``` ```python
print(df.iloc[3])
----------------------
A 12
B 13
C 14
D 15
Name: 2019-12-20 00:00:00, dtype: int32
``` ```python
print(df.iloc[3,1])
---------------
13
``` ```python
print(df.iloc[3:5,1:3])
---------------------
B C
2019-12-20 13 14
2019-12-21 17 18
``` ```python
print(df.iloc[[1,3,5],1:3])
-----------------------
B C
2019-12-18 5 6
2019-12-20 13 14
2019-12-22 21 22
``` ```python
print(df[df.A>8])
------------------
A B C D
2019-12-20 12 13 14 15
2019-12-21 16 17 18 19
2019-12-22 20 21 22 23
``` ```python
df.iloc[2,2] = 1111
print(df)
----------------------
A B C D
2019-12-17 0 1 2 3
2019-12-18 4 5 6 7
2019-12-19 8 9 1111 11
2019-12-20 12 13 14 15
2019-12-21 16 17 18 19
2019-12-22 20 21 22 23
``` ```python
df.loc['2019-12-17','B'] = 222
df
----------------------
A B C D
2019-12-17 0 222 2 3
2019-12-18 4 5 6 7
2019-12-19 8 9 1111 11
2019-12-20 12 13 14 15
2019-12-21 16 17 18 19
2019-12-22 20 21 22 23
``` ```python
df.A[df.A>4] = 0
df
--------------- A B C D
2019-12-17 0 222 2 3
2019-12-18 4 5 6 7
2019-12-19 0 9 1111 11
2019-12-20 0 13 14 15
2019-12-21 0 17 18 19
2019-12-22 0 21 22 23
``` ```python
df['E'] = pd.Series([1,2,3,4,5,6],index=pd.date_range('',periods=6))
df
--------------------- A B C D E
2019-12-17 0 0 2 3 1
2019-12-18 4 0 6 7 2
2019-12-19 0 0 1111 11 3
2019-12-20 0 0 14 15 4
2019-12-21 0 0 18 19 5
2019-12-22 0 0 22 23 6
``` ```python
df.iloc[0,1] = np.nan
df.iloc[1,2] = np.nan
df
---------------
A B C D E
2019-12-17 0 NaN 2.0 3 1
2019-12-18 4 0.0 NaN 7 2
2019-12-19 0 0.0 1111.0 11 3
2019-12-20 0 0.0 14.0 15 4
2019-12-21 0 0.0 18.0 19 5
2019-12-22 0 0.0 22.0 23 6
``` ```python
df.dropna(axis=0,how='any') # how=['any','all']
------------------
A B C D E
2019-12-19 0 0.0 1111.0 11 3
2019-12-20 0 0.0 14.0 15 4
2019-12-21 0 0.0 18.0 19 5
2019-12-22 0 0.0 22.0 23 6
``` ```python
df.iloc[1,1] = np.nan
df
----------------- A B C D E
2019-12-17 0 NaN 2.0 3 1
2019-12-18 4 NaN NaN 7 2
2019-12-19 0 0.0 1111.0 11 3
2019-12-20 0 0.0 14.0 15 4
2019-12-21 0 0.0 18.0 19 5
2019-12-22 0 0.0 22.0 23 6
``` ```python
print(df.fillna(value=12))
------------------
A B C D E
2019-12-17 0 12.0 2.0 3 1
2019-12-18 4 12.0 12.0 7 2
2019-12-19 0 0.0 1111.0 11 3
2019-12-20 0 0.0 14.0 15 4
2019-12-21 0 0.0 18.0 19 5
2019-12-22 0 0.0 22.0 23 6
``` ```python
print(df.isnull())
---------------------
A B C D E
2019-12-17 False True False False False
2019-12-18 False True True False False
2019-12-19 False False False False False
2019-12-20 False False False False False
2019-12-21 False False False False False
2019-12-22 False False False False False
``` ```python
df1 = pd.DataFrame(np.ones((3,4))*0,columns=['a','b','c','d'])
df2 = pd.DataFrame(np.ones((3,4))*1,columns=['a','b','c','d'])
df3 = pd.DataFrame(np.ones((3,4))*2,columns=['a','b','c','d'])
print(df1)
print(df2)
print(df3)
-----------------------
a b c d
0 0.0 0.0 0.0 0.0
1 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0
a b c d
0 1.0 1.0 1.0 1.0
1 1.0 1.0 1.0 1.0
2 1.0 1.0 1.0 1.0
a b c d
0 2.0 2.0 2.0 2.0
1 2.0 2.0 2.0 2.0
2 2.0 2.0 2.0 2.0
``` ```python
res = pd.concat([df1,df2,df3],ignore_index=True)
res
--------------------
a b c d
0 0.0 0.0 0.0 0.0
1 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0
3 1.0 1.0 1.0 1.0
4 1.0 1.0 1.0 1.0
5 1.0 1.0 1.0 1.0
6 2.0 2.0 2.0 2.0
7 2.0 2.0 2.0 2.0
8 2.0 2.0 2.0 2.0
``` ```python
df4 = pd.DataFrame(np.ones((3,4))*0,columns=['a','b','c','d'])
df5 = pd.DataFrame(np.ones((3,4))*1,columns=['b','c','d','e'])
print(df4)
print(df5)
-----------------
a b c d
0 0.0 0.0 0.0 0.0
1 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0
b c d e
0 1.0 1.0 1.0 1.0
1 1.0 1.0 1.0 1.0
2 1.0 1.0 1.0 1.0
``` ```python
res = pd.concat([df4,df5],sort=True)
res
--------------------- a b c d e
0 0.0 0.0 0.0 0.0 NaN
1 0.0 0.0 0.0 0.0 NaN
2 0.0 0.0 0.0 0.0 NaN
0 NaN 1.0 1.0 1.0 1.0
1 NaN 1.0 1.0 1.0 1.0
2 NaN 1.0 1.0 1.0 1.0
``` ```python
res = pd.concat([df4,df5],axis=1)
res
----------------
a b c d b c d e
0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0
1 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0
2 0.0 0.0 0.0 0.0 1.0 1.0 1.0 1.0
``` ```python
df8 = pd.DataFrame(np.ones((3,4))*0,columns=['a','b','c','d'])
s1 = pd.Series([1,2,3,4],index=['a','b','c','d'])
res = df8.append(s1,ignore_index=True)
res
---------------
``` ```python
a b c d
0 0.0 0.0 0.0 0.0
1 0.0 0.0 0.0 0.0
2 0.0 0.0 0.0 0.0
3 1.0 2.0 3.0 4.0
```
pandas基础操作的更多相关文章
- pandas 基础操作 更新
创建一个Series,同时让pandas自动生成索引列 创建一个DataFrame数据框 查看数据 数据的简单统计 数据的排序 选择数据(类似于数据库中sql语句) 另外可以使用标签来选择 通过位置获 ...
- Pandas的基础操作(一)——矩阵表的创建及其属性
Pandas的基础操作(一)——矩阵表的创建及其属性 (注:记得在文件开头导入import numpy as np以及import pandas as pd) import pandas as pd ...
- 小白学 Python 数据分析(5):Pandas (四)基础操作(1)查看数据
在家为国家做贡献太无聊,不如跟我一起学点 Python 人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Panda ...
- 小白学 Python 数据分析(6):Pandas (五)基础操作(2)数据选择
人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...
- 利用Python进行数据分析(12) pandas基础: 数据合并
pandas 提供了三种主要方法可以对数据进行合并: pandas.merge()方法:数据库风格的合并: pandas.concat()方法:轴向连接,即沿着一条轴将多个对象堆叠到一起: 实例方法c ...
- 利用Python进行数据分析(8) pandas基础: Series和DataFrame的基本操作
一.reindex() 方法:重新索引 针对 Series 重新索引指的是根据index参数重新进行排序. 如果传入的索引值在数据里不存在,则不会报错,而是添加缺失值的新行. 不想用缺失值,可以用 ...
- numpy&pandas基础
numpy基础 import numpy as np 定义array In [156]: np.ones(3) Out[156]: array([1., 1., 1.]) In [157]: np.o ...
- Pandas 基础(15) - date_range 和 asfreq
这一节是承接上一节的内容, 依然是基于时间的数据分析, 接下来带大家理解关于 date_range 的相关用法. 首先, 引入数据文件: import pandas as pd df = pd.rea ...
- Pandas 基础(1) - 初识及安装 yupyter
Hello, 大家好, 昨天说了我会再更新一个关于 Pandas 基础知识的教程, 这里就是啦......Pandas 被广泛应用于数据分析领域, 是一个很好的分析工具, 也是我们后面学习 machi ...
随机推荐
- 3.GO-项目结构、包访问权限、闭包和值传递引用传递
3.1.goland中项目结构 (1)在goland中创建标准Go项目 (2)goland配置 创建项目Learn-Go file-settings-go-GOPATH-添加 在项目目录下创建src目 ...
- cf 1182 E - Product Oriented Recurrence
当时脑残了, 不会写矩阵快速幂中更改的系数, 其实把他扔到矩阵里同时递推就好了 #include<cstdio> #include<algorithm> #include< ...
- [LeetCode] 99. Recover Binary Search Tree 复原二叉搜索树
Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing ...
- 4,VS常见问题解决(一闪而过、等问题)不断更新
当然入门学c可以用VS,但是深入就不应该用VS(MSVC)编译器了,毕竟VS2017还没有完全支持C99(这个从VS2017没有实现变长数组可见) 但是想看c源码,还是 1. 推荐用 *nix系统 2 ...
- CPU、内存、磁盘的瓶颈(转载文)
1.如何判断CPU.内存.磁盘的瓶颈? CPU瓶颈1) 查看CPU利用率.建议CPU指标如下 a) User Time:65%-70% b) System Time:30%-35% c) Idle:0 ...
- oracle--状态查询
- java web开发入门六(spring mvc)基于intellig idea
spring mvc ssm=spring mvc+spring +mybatis spring mvc工作流程 1A)客户端发出http请求,只要请求形式符合web.xml文件中配置的*.actio ...
- $scope里的$watch方法
一.$watch的作用 监听model,如果model发生变化,则触发某些事情. 二.$watch的格式 $scope. $watch(watchFn,watchAction,deepWatch); ...
- Mac PyCharm激活/激活码
此教程实时更新,请放心使用:如果有新版本出现猪哥都会第一时间尝试激活: pycharm官网下载地址:http://www.jetbrains.com/pycharm/download/ 激活前准备工作 ...
- Java并发之原子性,可见性,有序性
原子性 原子性指的是一个或者多个操作在 CPU 执行的过程中不被中断的特性 在多线程情况下,线程会被操作系统调度进行任务切换,占有CPU时间片段的就执行,否则就阻塞 java中对基础类型的变量赋值是 ...