首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >统计师的Python日记:第四天的补充

统计师的Python日记:第四天的补充

作者头像
数说君
发布2018-04-04 16:17:42
8570
发布2018-04-04 16:17:42
举报

【第4天:欢迎光临Pandas】

第四天学习了Pandas,感受了Pandas数据的DataFrame数据格式的魅力:

看起来就像excel一样清爽!

但是后来我遇到了两个问题:

1)之前只学习了用字典来生成,列表可以生成吗?

2)字典生成也存在问题:想把{'A': 'a', 'B': 'b'}变成DataFrame就不行:

import pandas as pd >>> df = pd.DataFrame({'A': 'a', 'B': 'b'}) Traceback (most recent call last): File "<pyshell#5>", line 1, in <module> df = pd.DataFrame({'A': 'a', 'B': 'b'}) File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 226, in __init__ mgr = self._init_dict(data, index, columns, dtype=dtype) File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 363, in _init_dict dtype=dtype) File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 5158, in _arrays_to_mgr index = extract_index(arrays) File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 5197, in extract_index raise ValueError('If using all scalar values, you must pass' ValueError: If using all scalar values, you must pass an index

对这两个问题,查了资料,得到解决,现记录在此:

1)列表生成DataFrame:

直接DataFrame就可以,和字典一样

但是问题来了:

“索引名和变量名能改一下吗?”

自定义索引名,就用第四天里学的index=[ ]即可:

那么想自定义变量名呢?

哎这个,您啊,可以关注第五天的日记,我继续分享~

2)字典生成DataFrame的问题

import pandas as pd >>> df = pd.DataFrame({'A': 'a', 'B': 'b'}) 不成功,得到一堆错误提示

第四天学的就是用字典来生成DataFrame,怎么到这里不成功了?

您看看第四天的例子中的字典是什么样的:

>>> pop {'city': ['Chongqin', 'Shanghai', 'Beijing', 'Chengdu', 'Tianjin', 'Guangzhou', 'Baoding', 'Harbin', 'Suzhou', 'Shenzhen'], 'pop': [2884.6, 2301.9, 1961.2, 1404.8, 1293.8, 1270.1, 1119.4, 1063.6, 1046.6, 1035.8]}

这个例子中,我传入的字典是pop,它的形式是:

{ ‘city’:['chongqin', 'shanghai'], ‘pop': [2884.6, 2301.9] }

而出错的那个是这样的:

{'A': 'a', 'B': 'b'}

区别在哪呢?该不会是[ ]的问题吧——是的。

所以,将字典生成DataFrame,您可以用{'A':[ 'a'], 'B': ['b']},当然也不一定非要这样,所以三种方法是可以成功的:

第一种:{'A':['a'], 'B': ['b']}

>>> df = pd.DataFrame({'A': ['a'], 'B': ['b']}) >>> df A B 0 a b

第二种:传入索引index

>>> df = pd.DataFrame({'A': 'a', 'B': 'b'}, index=[0]) >>> df A B 0 a b

第三种:DataFrame([dict])

>>> df = pd.DataFrame([{'A': 'a', 'B': 'b'}]) >>> df A B 0 a b

欢迎继续关注【统计师的Python日记】系列

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-03-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数说工作室 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档