<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 如何在 Python 中加載和探索時間序列數據 > 原文: [https://machinelearningmastery.com/load-explore-time-series-data-python/](https://machinelearningmastery.com/load-explore-time-series-data-python/) Python 中的 [Pandas 庫](http://machinelearningmastery.com/quick-and-dirty-data-analysis-with-pandas/)為時間序列數據提供了出色的內置支持。 加載后,Pandas 還提供了探索和更好地理解數據集的工具。 在本文中,您將了解如何加載和瀏覽時間序列數據集。 完成本教程后,您將了解: * 如何使用 Pandas 從 CSV 文件加載時間序列數據集。 * 如何查看加載的數據并計算摘要統計信息。 * 如何繪制和查看時間序列數據。 讓我們開始吧。 ## 每日女性出生數據集 在這篇文章中,我們將以每日女性出生數據集為例。 這個單變量的時間序列數據集描述了 1959 年加利福尼亞州每日女性出生的數量。 單位是計數,有 365 個觀測值。數據集的來源歸功于 Newton(1988)。 下面是前 5 行數據的示例,包括標題行。 ```py "Date","Daily total female births in California, 1959" "1959-01-01",35 "1959-01-02",32 "1959-01-03",30 "1959-01-04",31 "1959-01-05",44 ``` 下面是從數據市場獲取的整個數據集的圖表。 ![Daily Female Births Dataset](https://img.kancloud.cn/90/d1/90d13545ebab853983540317fa241b6b_722x387.jpg) 每日女性出生數據集 您可以[從該網站](https://datamarket.com/data/set/235k/daily-total-female-births-in-california-1959)下載數據集。 下載數據集并將其放在當前工作目錄中,文件名為“ **daily-total-female-births-in-cal.csv** ”。 ### 加載時間序列數據 Pandas 將時間序列數據集表示為系列。 [系列](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.html)是一維數組,每行有一個時間標簽。 我們可以使用 Series 類直接加載 Daily Female Births 數據集,如下所示: ```py # Load birth data from pandas import Series series = Series.from_csv('daily-total-female-births-in-cal.csv', header=0) print(series.head()) ``` 運行此示例將打印數據集的前 5 行,如下所示: ```py Date 1959-01-01 35 1959-01-02 32 1959-01-03 30 1959-01-04 31 1959-01-05 44 Name: Daily total female births in California, 1959, dtype: int64 ``` 該系列有一個名稱,它是數據列的列名。 您可以看到每一行都有一個關聯的日期。這實際上不是一列,而是一個值的時間索引。作為索引,一次可以存在多個值,并且值可以在時間上均勻或不均勻地間隔開。 在 Pandas 中加載 CSV 數據的主要功能是 [read_csv()](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html#pandas.read_csv)功能。我們可以使用它來加載時間序列作為 Series 對象而不是 DataFrame,如下所示: ```py # Load birth data using read_csv from pandas import read_csv series = read_csv('daily-total-female-births-in-cal.csv', header=0, parse_dates=[0], index_col=0, squeeze=True) print(type(series)) print(series.head()) ``` 注意 **read_csv()**函數的參數。 我們提供了許多提示,以確保數據作為系列加載。 * **header = 0** :我們必須在第 0 行指定頭信息。 * **parse_dates = [0]** :我們給函數一個提示,即第一列中的數據包含需要解析的日期。這個參數采用一個列表,所以我們為它提供了一個元素的列表,它是第一列的索引。 * **index_col = 0** :我們提示第一列包含時間序列的索引信息。 * **squeeze = True** :我們暗示我們只有一個數據列,而且我們對 Series 而不是 DataFrame 感興趣。 您可能需要為自己的數據使用的另一個參數是 **date_parser** ,用于指定解析日期時間值的函數。在此示例中,已推斷出日期格式,這在大多數情況下都適用。在那些沒有的情況下,指定您自己的日期解析函數并使用 **date_parser** 參數。 運行上面的示例打印相同的輸出,但也確認時間序列確實作為 Series 對象加載。 ```py <class 'pandas.core.series.Series'> Date 1959-01-01 35 1959-01-02 32 1959-01-03 30 1959-01-04 31 1959-01-05 44 Name: Daily total female births in California, 1959, dtype: int64 ``` 在 DataFrame 而不是 Series 對象中執行時間序列數據的操作通常更容易。 在這些情況下,您可以輕松地將加載的 Series 轉換為 DataFrame,如下所示: ```py dataframe = DataFrame(series) ``` ### 進一步閱讀 * 更多關于 [Series.from_csv()](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.Series.from_csv.html#pandas.Series.from_csv)的功能。 * 更多關于 [pandas.read_csv()](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html#pandas.read_csv)的功能。 ## 探索時間序列數據 Pandas 還提供了探索和匯總時間序列數據的工具。 在本節中,我們將介紹一些常見的操作,以探索和匯總您加載的時間序列數據。 ### 窺視數據 最好先查看已加載的數據,以確認按預期加載的類型,日期和數據。 您可以使用 **head()**功能查看前 5 條記錄或指定要查看的前 n 條記錄。 例如,您可以按如下方式打印前 10 行數據。 ```py from pandas import Series series = Series.from_csv('daily-total-female-births-in-cal.csv', header=0) print(series.head(10)) ``` 運行該示例將打印以下內容: ```py Date 1959-01-01 35 1959-01-02 32 1959-01-03 30 1959-01-04 31 1959-01-05 44 1959-01-06 29 1959-01-07 45 1959-01-08 43 1959-01-09 38 1959-01-10 27 ``` 您還可以使用 **tail()**函數來獲取數據集的最后 **n** 記錄。 ### 觀察數量 對數據執行的另一個快速檢查是加載的觀察數量。 這可以幫助清除列標題未按預期處理的問題,并了解如何有效地分割數據以便與監督學習算法一起使用。 您可以使用 **size** 參數獲取系列的維度。 ```py from pandas import Series series = Series.from_csv('daily-total-female-births-in-cal.csv', header=0) print(series.size) ``` 運行這個例子,我們可以看到,正如我們所期望的那樣,有 36 個觀測值,一個是 1959 年的每一天。 ```py 365 ``` ### 按時間查詢 您可以使用時間索引對系列進行切片,切塊和查詢。 例如,您可以按如下方式訪問 1 月份的所有觀察結果: ```py from pandas import Series series = Series.from_csv('daily-total-female-births-in-cal.csv', header=0) print(series['1959-01']) ``` 運行它顯示 1959 年 1 月的 31 個觀測值。 ```py Date 1959-01-01 35 1959-01-02 32 1959-01-03 30 1959-01-04 31 1959-01-05 44 1959-01-06 29 1959-01-07 45 1959-01-08 43 1959-01-09 38 1959-01-10 27 1959-01-11 38 1959-01-12 33 1959-01-13 55 1959-01-14 47 1959-01-15 45 1959-01-16 37 1959-01-17 50 1959-01-18 43 1959-01-19 41 1959-01-20 52 1959-01-21 34 1959-01-22 53 1959-01-23 39 1959-01-24 32 1959-01-25 37 1959-01-26 43 1959-01-27 39 1959-01-28 35 1959-01-29 44 1959-01-30 38 1959-01-31 24 ``` 這種基于索引的查詢可以幫助在瀏覽數據集時準備摘要統計和繪圖。 ### 描述性統計 計算時間序列的描述性統計數據有助于了解值的分布和傳播。 這可能有助于數據擴展甚至數據清理的想法,您可以在以后將其作為準備數據集進行建模的一部分來執行。 **describe()**函數創建加載時間序列的 7 個數字摘要,包括觀察值的均值,標準差,中值,最小值和最大值。 ```py from pandas import Series series = Series.from_csv('daily-total-female-births-in-cal.csv', header=0) print(series.describe()) ``` 運行此示例將打印出生率數據集的摘要。 ```py count 365.000000 mean 41.980822 std 7.348257 min 23.000000 25% 37.000000 50% 42.000000 75% 46.000000 max 73.000000 ``` ### 繪制時間序列 繪制時間序列數據,尤其是單變量時間序列,是探索數據的重要部分。 通過調用 **plot()**函數在已加載的 Series 上提供此功能。 下面是繪制整個加載的時間序列數據集的示例。 ```py from pandas import Series from matplotlib import pyplot series = Series.from_csv('daily-total-female-births-in-cal.csv', header=0) pyplot.plot(series) pyplot.show() ``` 運行該示例將創建一個時間序列圖,其中 y 軸上的每日出生次數和沿 x 軸的天數。 ![Daily Total Female Births Plot](https://img.kancloud.cn/4f/7d/4f7d7462b504c7b52081b73827b67cb5_800x600.jpg) 每日總女性出生情節 ### 進一步閱讀 如果您有興趣了解有關使用時間序列數據的 Pandas 功能的更多信息,請參閱下面的一些鏈接。 * [熊貓時間序列/日期功能](http://pandas.pydata.org/pandas-docs/stable/timeseries.html) * [熊貓時間序列基礎知識](http://chrisalbon.com/python/pandas_time_series_basics.html) * [大熊貓時間序列分析](http://earthpy.org/pandas-basics.html) ## 摘要 在這篇文章中,您了解了如何使用 Pandas Python 庫加載和處理時間序列數據。 具體來說,你學到了: * 如何將您的時間序列數據加載為 Pandas 系列。 * 如何查看和計算時間序列數據的摘要統計信息。 * 如何繪制時間序列數據。 您對在 Python 中處理時間序列數據有任何疑問,或者關于這篇文章? 在下面的評論中提出您的問題,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看