如果有人对本书感兴趣,我对“Python for Data Analysis”这本书有疑问。
在第244页上运行示例(绘图地图:可视化海地地震危机数据)之后,我的dummy_frame.ix结果看起来与本书所说的内容不同:
dummy_frame = DataFrame(np.zeros((len(data), len(code_index))),
index=data.index, columns=code_index)
If all goes well, dummy_frame should look something like this:
In [107]: dummy_frame.ix[:, :6]
Out[107]:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 3569 entries, 0 to 3592
Data columns:
1 3569 non-null values
1a 3569 non-null values
1b 3569 non-null values
1c 3569 non-null values
1d 3569 non-null values
2 3569 non-null values
dtypes: float64(6)
我的结果是:
In [61]: dummy_frame.ix[:, :6]
Out[61]:
1 1a 1b 1c 1d 2
0 0 0 0 0 0 0
4 0 0 0 0 0 0
5 0 0 0 0 0 0
6 0 0 0 0 0 0
7 0 0 0 0 0 0
<snip>
57 0 0 0 0 0 0
58 0 0 0 0 0 0
59 0 0 0 0 0 0
60 0 0 0 0 0 0
61 0 0 0 0 0 0
62 0 0 0 0 0 0
.. ... ... ... ... ..
[3569 rows x 6 columns]
我检查了它errata page,但那里没有提到。我确保这里没有拼写错误,并且在两台不同的机器上运行它,但结果是一样的。
请问任何建议?
编辑:
谢谢dartdog,joris!我没有注意到Dataframe显示已更改。现在我可以用.info()
获得相同的结果In [5]: dummy_frame.ix[:, :6].info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 3569 entries, 0 to 3592
Data columns (total 6 columns):
1 3569 non-null float64
1a 3569 non-null float64
1b 3569 non-null float64
1c 3569 non-null float64
1d 3569 non-null float64
2 3569 non-null float64
dtypes: float64(6)
答案 0 :(得分:2)
就我所见,这是同样的结果,Pandas一直在改变数据帧的默认显示,书中的例子是摘要显示,你得到的显示是显示开始/结束的较新格式。阅读显示选项...在您正在使用的相应版本文档中
答案 1 :(得分:1)
我是编程新手并且对该代码了解不多,但问题可能是你正在运行的python版本。 Python 2.7和3.3的工作方式不同,本书可能基于你使用另一本书。检查版本。