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 ...
随机推荐
- 【oracle】表说明 COMMENT ON的用法
- Codeforces Round #549 (Div. 2) E 倍增处理按排列顺序的上一个位置
https://codeforces.com/contest/1143/problem/E 题意 p为n的一个排列,给出有m个数字的数组a,q次询问,每次询问a数组区间[l,r]中是否存在子序列为p的 ...
- luogu P1084疫情控制 二分
链接 loj luogu太水不要去了. 思路 二分. 每个军队在一定的时间内越往上越好. 注意一个军队可以跨过1去帮别的. 把能到1脚下的点都存下来特判. 有一种情况是这个子树内只有一个军队,但这个军 ...
- nowcoder911J 异或的路径
题目链接 题意 给出一棵树,每条边有边权.求\(\sum\limits_{i=1}^n{f(i,j)}\),\(f(i,j)\)表示从i到j路径的异或和. 思路 \(g_i\)表示从根到\(i\)的异 ...
- 【微信小程序】获取用户地理位置权限,二次请求授权,逆解析获取地址
摘要:微信小程序内获取用户地理位置信息授权,被拒绝后二次获取,获取权限后逆解析得到用户所在省市区等.. 场景:商城类小程序,在首页时需展示附近门店,即用户刚进入小程序时就需要获取到用户位置信息 ste ...
- python 获取日期以及时间
>>> import datetime >>> >>> i = datetime.datetime.now() >>> prin ...
- SQL语句中使用回车换行符
今天发现sql数据库有个图片路径中包含空格,结果在替换和查找时,发现用空格无效,后来经过确认才发现原来是回车换行符引起,从表面看很像空格,实际是回车符,要用char(13)才能进行替换和查找 --查找 ...
- LeetcCode 27:移除元素 Remove Element(python、java)
公众号:爱写bug 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) ...
- git 版本(commit) 回退 -- 使用git reset 指令
刚刚提交了三个commit, git reflog显示如下: 最后一个commit在文件末尾加了一行:v3,以此类推: 下面,使用git reset --hard commitID来进行commit回 ...
- 通过四个问题了解HTTP协议基础
很多人都知道学习和理解HTTP协议的重要性及必要性,但HTTP相关知识对计算机基础较差,尤其是我这种没有计算机基础的人来说更是晦涩难懂 乘着最近有空闲时间,开始恶补HTTP相关基础知识,下面请跟着我通 ...