pandas 時間序列、繪圖、存儲文件 date_range()

pandas.date_range(start=None, end=None, periods=None, freq=’D’, tz=None, normalize=False, name=None, closed=None, **kwargs)

參數
start:string或datetime-like,默認值是None,表示日期的起點。
end:string或datetime-like,默認值是None,表示日期的終點。
periods:integer或None,默認值是None,表示你要從這個函數產生多少個日期索引值;如果是None的話,那麼start和end必須不能爲None。
freq:string或DateOffset,默認值是’D’,表示以自然日爲單位,這個參數用來指定計時單位,比如’5H’表示每隔5個小時計算一次。
tz:string或None,表示時區,例如:’Asia/Hong_Kong’。
normalize:bool,默認值爲False,如果爲True的話,那麼在產生時間索引值之前會先把start和end都轉化爲當日的午夜0點。
name:str,默認值爲None,給返回的時間索引指定一個名字。

closed:string或者None,默認值爲None,表示start和end這個區間端點是否包含在區間內,可以有三個值,’left’表示左閉右開區間,’right’表示左開右閉區間,None表示兩邊都是閉區間。


#!/usr/bin/env python
# -*- coding:utf-8 -*-
import pandas as pd
import numpy as np
import datetime
from pylab import *
# encoding=utf8 #
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
#解決文件輸入編碼問題#

def main():
    # Time Series#
    t_exam = pd.date_range("20170301", periods=10, freq="S")
    print (t_exam)
    # Graph
    ts = pd.Series(np.random.randn(1000), index=pd.date_range("20170301", periods=1000))#1000天的數#
    ts = ts.cumsum()# cumsum()函數中:生成的每一項矩陣元素均是從原矩陣首項累加到對應項的元素之和 #
    ts.plot()#pylab#
    show()
    # File
    df = pd.read_csv("./data/May turnover.csv", encoding="gb2312")#讀取時在後面加入encoding="gb2312"基本可以保證不亂碼
    # 例外的情況,用encoding = "gb18030"就能解決#
    # 自己輸入的中文可以在前面+u #
    print (df)
    df2 = pd.read_excel("./data/May turnover.xlsx", "Sheet1",encoding="gb2312")
    print ("Excel",df2)
    df.to_csv("./data/May2 turnover.csv")
    df2.to_excel("./data/May2 turnover.xlsx","Sheet2", encoding="gb18030")


if __name__ == "__main__":
    main()
關注了叫李茂的大神的博客,受益良多。crifan~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章