簡體   English   中英

Jupyter Labs:將元組轉換為 PandasData Frame 時內核失效

[英]Jupyter Labs: Kernel Dies when Converting Tuple to PandasData Frame

我有以下元組,我正在嘗試從中創建數據框:

testing = 
([datetime.datetime(2020, 2, 5, 0, 0),
  datetime.datetime(2020, 2, 5, 2, 40),
  datetime.datetime(2020, 2, 5, 5, 20),
  datetime.datetime(2020, 2, 5, 8, 0),
  datetime.datetime(2020, 2, 5, 10, 40),
  datetime.datetime(2020, 2, 5, 13, 20),
  datetime.datetime(2020, 2, 5, 16, 0),
  datetime.datetime(2020, 2, 5, 18, 40),
  datetime.datetime(2020, 2, 5, 21, 20),
  datetime.datetime(2020, 2, 6, 0, 0)],
 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

我使用這個片段來創建一個數據框:

df_testing = pd.DataFrame(testing)
df_testing.head()

但是,這會導致內核每次都死掉。 如果我只循環 1 個項目(例如,我執行 df_testing = pd.DataFrame(testing[0])),則代碼運行良好。

我對使用元組不是很熟悉,所以是否有某種類型的屬性阻止它們變成數據框?

注意:有很多代碼會生成這個“測試變量”,它只是我最終想要轉換的整體數據的一部分。 我在這里為示例填寫了一些虛擬數據。 如果可能,我寧願不修改此變量的數據類型。

另外,我正在運行 Python 3.7,以防萬一。

編輯:這是我嘗試運行我輸入的測試代碼的屏幕截圖。 死內核

我剛剛運行了您的確切代碼(注意您編寫了不同的變量名稱 - 測試與測試)。

更改變量名稱后,它工作得很好:

在此處輸入圖片說明

我想問題出在您的 jupyter Labs 安裝上。

我會用:

new_df = pd.Series(dict(zip(*test))).to_frame('name_column')
print(new_df)

或者

new_df = pd.DataFrame({'name_column':dict(zip(*test))})
print(new_df)

輸出

                     name_column
2020-02-05 00:00:00            1
2020-02-05 02:40:00            2
2020-02-05 05:20:00            3
2020-02-05 08:00:00            4
2020-02-05 10:40:00            5
2020-02-05 13:20:00            6
2020-02-05 16:00:00            7
2020-02-05 18:40:00            8
2020-02-05 21:20:00            9
2020-02-06 00:00:00           10

如果要轉換列中的索引,可以使用DataFrame.reset_index

另一種選擇是DataFrame.transpose

new_df = pd.DataFrame(test,index=['Date','values']).T
print(new_df)
                 Date values
0 2020-02-05 00:00:00      1
1 2020-02-05 02:40:00      2
2 2020-02-05 05:20:00      3
3 2020-02-05 08:00:00      4
4 2020-02-05 10:40:00      5
5 2020-02-05 13:20:00      6
6 2020-02-05 16:00:00      7
7 2020-02-05 18:40:00      8
8 2020-02-05 21:20:00      9
9 2020-02-06 00:00:00     10

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM