我在关注Pandas tutorials

这些教程是用Python2.7编写的,我正在用Python3.4编写它们

以下是我的版本详细信息.

In [11]: print('Python version ' + sys.version)
Python version 3.4.1 |Anaconda 2.0.1 (64-bit)| (default, Jun 11 2014, 17:27:11)
[MSC v.1600 64 bit (AMD64)]

In [12]: print('Pandas version ' + pd.__version__)
Pandas version 0.14.1

我根据教程创建了拉链

In [13]: names = ['Bob','Jessica','Mary','John','Mel']

In [14]: births = [968, 155, 77, 578, 973]

In [15]: zip?
Type:            type
String form:     <class 'zip'>
Namespace:       Python builtin
Init definition: zip(self, *args, **kwargs)
Docstring:
zip(iter1 [,iter2 [...]]) --> zip object

Return a zip object whose .__next__() method returns a tuple where
the i-th element comes from the i-th iterable argument.  The .__next__()
method continues until the shortest iterable in the argument sequence
is exhausted and then it raises StopIteration.

In [16]: BabyDataSet = zip(names,births)

但是在创建之后,第一个错误显示我看不到zip的内容.

In [17]: BabyDataSet
Out[17]: <zip at 0x4f28848>

In [18]: print(BabyDataSet)
<zip object at 0x0000000004F28848>

然后,当我go 创建数据帧时,我得到了这个迭代器错误.

In [21]: df = pd.DataFrame(data = BabyDataSet, columns=['Names', 'Births'])
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-21-636a49c94b6e> in <module>()
----> 1 df = pd.DataFrame(data = BabyDataSet, columns=['Names', 'Births'])

c:\Users\Sayth\Anaconda3\lib\site-packages\pandas\core\frame.py in __init__(self
, data, index, columns, dtype, copy)
    255                                          copy=copy)
    256         elif isinstance(data, collections.Iterator):
--> 257             raise TypeError("data argument can't be an iterator")
    258         else:
    259             try:

TypeError: data argument can't be an iterator

In [22]:

这是python 3的问题吗?我需要用不同的方式来做吗?还是别的?

推荐答案

您需要更改此行:

BabyDataSet = zip(names,births)

致:

BabyDataSet = list(zip(names,births))

这是因为zip现在在Python3中返回一个迭代器,因此返回错误消息.有关更多详细信息,请参见:http://www.diveintopython3.net/porting-code-to-python-3-with-2to3.html#ziphttps://docs.python.org/3/library/functions.html#zip

Python-3.x相关问答推荐

如何获得大Pandas 的常见时间间隔

无法使用Python slack 螺栓SDK读取在 slack 通道中收到的消息

向前/向后移动导致移动行的数据不可见

在 python f-string 中使用 \u

pytorch 中 mps 设备的 manual_seed

如何知道Pandas 列中的每个后续值是否都大于前面的值? Python相关

如何将元组列表拆分为两个单独的列表?

使用 pandas 进行多类分类的总体准确度

pip install mysqlclient 失败为 mysqlclient 运行 setup.py bdist_wheel ... 错误

如何并行化文件下载?

简单的 get/post 请求在 python 3 中被阻止,但在 python 2 中没有

Python 异步调试示例

在 Pandas 数据框中显示对图

如何在python中创建代码对象?

清除 PyCharm 运行窗口

如何使用 python http.server 运行 CGI hello world

如何删除目录? os.removedirs 和 os.rmdir 是否只用于删除空目录?

如何修复:cx_Oracle.DatabaseError:DPI-1047:找不到 64 位 Oracle 客户端库 - Python

如何从 seaborn / matplotlib 图中删除或隐藏 x 轴标签

如何从 Base64 转换为字符串 Python 3.2