pandas--时间序列与删除数据

Posted 大诚笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas--时间序列与删除数据相关的知识,希望对你有一定的参考价值。

pandas时间序列和数据删除

时间序列

https://github.com/daacheng/PythonBasic/blob/master/dataset/appl_1980_2014.csv

代码

%matplotlib inline
import pandas as pd

#
 时间序列
# 读取苹果公司股票数据文件
appl = pd.read_csv('appl_1980_2014.csv')
appl.head(5)

#
 查看列名
# Index(['Date''Open''High''Low''Close''Volume''Adj Close'], dtype='object'
appl.columns

#
 查看每一列的数据类型
appl.dtypes

#
 把date列转换成时间类型
appl.Date =  pd.to_datetime(appl.Date)

#
 把Date设置成索引
appl = appl.set_index('Date')

#
 查看有没有重复的日期   True
appl.index.is_unique

#
 按照升序排列索引
appl = appl.sort_index(ascending=True)

#
 数据集中时间相隔多少天   12261
(appl.index[-1]-appl.index[0]).days

#
 数据集中一共有多少个月  404
appl.resample('M').mean().shape[0]

#
 可视化,画出股票价格趋势
appl['Adj Close'].plot(title = 'apple stock price trend')

删除数据

https://github.com/daacheng/PythonBasic/blob/master/dataset/iris.csv

代码

import pandas as pd
import numpy as np

# 读取数据集文件
iris = pd.read_csv('iris.csv')
iris.head(5)

# 给DataFrame添加列名
iris.columns = ['sepal_length''sepal_width''petal_length''petal_width''class']
iris

# 查看缺失值数量
pd.isnull(iris).sum()

#  设置10-29行,"petal_length" 的值为nan
iris.iloc[10:30,2:3] = np.nan
iris

# 把nan的值设置为1.0   inpalce = True 表示直接在源DataFrame上进行修改
iris.petal_length.fillna(1.0, inplace = True)
iris

# 删除指定列
del iris['class']
iris

# 设置前几行的数据为nan
iris.iloc[:3,:]=np.nan
iris

# 删除有nan值的行
iris = iris.dropna(how='any')
iris

# 重置索引  drop = True 把原来的索引删除掉
iris.reset_index(drop = True)


以上是关于pandas--时间序列与删除数据的主要内容,如果未能解决你的问题,请参考以下文章

pandas GroupBy上的方法apply:一般性的“拆分-应用-合并”

text [检查特定的数据片段]取自论文但有意思应用。 #python #pandas

去除与Pandas中相邻点偏离太多的点

在 scipy/pandas 中用 Pearson 的 r 删除 'nan'

使用 pandas 追加数据和重写 CSV 时删除索引 [重复]

当不存在公共记录时,Pandas 合并删除添加的列