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 ...
随机推荐
- [LeetCode] 827. Making A Large Island 建造一个巨大岛屿
In a 2D grid of 0s and 1s, we change at most one 0 to a 1. After, what is the size of the largest is ...
- [LeetCode] 623. Add One Row to Tree 二叉树中增加一行
Given the root of a binary tree, then value v and depth d, you need to add a row of nodes with value ...
- 认识map-reduce
基本概念 map-reduce1.0 例子: hadoop streaming 用语言驱动map-reduce的话,使用的hadoop streaming命令,可以通过python,php,java来 ...
- 各版本linux推荐的软件源
x64 Ubuntu 18.4 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe mul ...
- ASP.NET Core2使用Autofac实现IOC依赖注入竟然能如此的优雅简便(转载)
原文地址:https://www.cnblogs.com/Andre/p/9604759.html 初识ASP.NET Core的小伙伴一定会发现,其几乎所有的项目依赖都是通过依赖注入方式进行链式串通 ...
- 2 datax mysql 和 mysql之间相互导入
插件文档: https://github.com/alibaba/DataX/blob/master/hdfswriter/doc/hdfswriter.md 1,参照第1篇日记,安装好datax ...
- QT+FFMPEG实现视频播放
开发环境:MinGW+QT5.9+FFMPEG20190212 一.开发环境搭建 FFMPEG的开发环境部署比如容易,在官网下载库文件,然后在QT里面指定路径,把相关dll文件放到exe目录下就可以了 ...
- Kettle提高表输出写入速度(每秒万条记录)
重点: ETL 优化多数在于表输入和表输出. 转自: https://blog.csdn.net/qq_37124304 https://blog.csdn.net/qq_37124304/artic ...
- iOS组件化实现方案
作者原文iOS组件化 - 路由架构从0到1实战 合伙呀 1.CTMediator作为路由中间件 2.基础UI组件以pod形式引入,并且能够独立运行调试 3.基础工具组件以pod形式引入,并且能够独立 ...
- POJ 1146 ID Codes 用字典序思想生成下一个排列组合
ID Codes Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 7644 Accepted: 4509 Descript ...