持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第20天,点击查看活动详情
总计:今天是十月更文计划第二十天,第三十五篇
今天开始学习dataFrame对象。
dataFrame
dataFrame是一个表格型的数据结构,含有一组有序的列,每列可以是不同类型的值。dataFrame既有行索引也有列索引,它可以看作是由serise组成的字典,数据是以二维结构存放的。
serise只能表示一行,如果需要表示很多行就是需要使用dataFrame。
dataFrame生成的方法如下:
使用ndarray构建dataFrame对象:
import pandas as pd
import numpy as np
t = pd.DataFrame(np.arange(12).reshape((3,4)))
print(t)
如果没有声明行列索引,那么在默认生成索引的时候就会索引就是0,1,2...
输出的结果如下:
对于dataFrame对象,我们随机生成一个array数组,可以将array数据放入dataFrame中:
array = np.random.randn(5,4)
print(array)
df_obj = pd.DataFrame(array)
print(df_obj.head())
输出的结果为:
2.可以将列表变为dataFrame对象:
d2 =[{"name" : "xiaohong" ,"age" :32,"tel" :10010}, { "name": "xiaogang" ,"tel": 10000} , {"name":"xiaowang" ,"age":22}]
print(type(d2))
print('-'*30)
df6=pd.DataFrame(d2)
print(df6)
print(type(df6.values))
可以使用pd.DataFrame方法直接将list转化为ndarray对象
输出的结果如下:
3.字典变为dataFrame对象:
dict_data = {'A': 1,
'B': pd.Timestamp('20190926'),
'C': pd.Series(1, index=list(range(4)),dtype='float32'),
'D': np.array([1,2,3,4],dtype='int32') }
print(type(dict_data))
print('-'*30)
df_obj2 = pd.DataFrame(dict_data)
print(df_obj2)
print(df_obj2.index)
print(type(df_obj2))
同样,字典与列表相类似。都可以变为dataFrame对象,输出的结果如下:
pandas中的日期接口
pandans中有一个日期接口:
dates = pd.date_range('20130101', periods=6)
可以直接来写所需要的日期:
dates = pd.date_range('20130101', periods=6)
df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list('ABCD'))
print(df)
可以看到我们只需要指定起始日期,以及所需要的天数,就可以实现对日期的输出:
pandas索引学习
常见的Index种类
•Index,索引
•Int64Index,整数索引
•MultiIndex,层级索引
•DatetimeIndex,时间戳类型
ser_obj = pd.Series(range(5), index = list("abcde"))
print(ser_obj)
ser_obj.index
输出结果如下: