DataFrame
DataFrame是一种二维的数据结构,非常接近于电子表格或者类似mysql的数据库形式。它的竖行称之为columns,横行与Series一样,称之为index,也就是说可以通过columns和index来进行确定位置。
#导入模块 from pandas import Series,DataFrame
- 定义DataFrame方法
- 1、使用dict字典
#定义DataFrame
#方式一:使用dict字典
data = {"name":['google','baidu','yahoo'],"marks":[100,200,300],"price":[1,2,3]}
>>> data
{'name': ['google', 'baidu', 'yahoo'], 'marks': [100, 200, 300], 'price': [1, 2, 3]}
f1 = DataFrame(data)
>>> f1
name marks price
0 google 100 1
1 baidu 200 2
2 yahoo 300 3
字典的键(“name”,“marks”,“price”)就是DataFrame的columns的值,字典中每个键的值是一个列表,它们就是那一竖列中的具体填充数据。上面的定义没有确定索引,因此使用从0开始的整数。从结果中可以明确的看出,这是一个二维的数据结构(类似excel或者mysql中的查看效果)。
1、上面的例子中,columns的顺序没有规定,但在DataFrame中columns的顺序可以被规定(字典中不可以)。做法如下:
f2 = DataFrame(data,columns=['name','marks','price'])
>>> f2
name marks price
0 google 100 1
1 baidu 200 2
2 yahoo 300 3
2、DataFrame数据的索引也可以自定义。做法如下:
f3 = DataFrame(data,columns=['name','marks','price'],index=['a','b','c'])
>>> f3
name marks price
a google 100 1
b baidu 200 2
c yahoo 300 3
- 2、“字典套字典”方法
#第二种方式:“字典套字典” >>>newdata = {'lang':{'first':'python','second':'java'},'price':{'first':5000,'second':2000}} >>> f4 = DataFrame(newdata) >>> f4 lang price first python 5000 second java 2000
字典中就规定好数列名字(第一层键)和每横行索引(第二层字典键)以及对应的数据(第二层字典值),也就是在字典中规定好了每个数据格子中的数据,没有规定的都是空的。
- DataFrame对象的columns属性,能够显示元素具有的columns名称。并且,还可以通过下面类似字典的方式,得到某竖列的全部内容:
>>> f3['name']
a google
b baidu
c yahoo
Name: name, dtype: object
可以对某一列单独赋值,“点对点”赋值
- 取横行元素,做法:
>>>f3.loc['a']
name google
marks 100
price 1
Name: a, dtype: object