繁体   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