记录研究生封校生活的学习day20(第一篇)

90 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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...

输出的结果如下:

image.png

对于dataFrame对象,我们随机生成一个array数组,可以将array数据放入dataFrame中:

array = np.random.randn(5,4)
print(array)

df_obj = pd.DataFrame(array)
print(df_obj.head())

输出的结果为:

image.png

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对象

输出的结果如下:

image.png

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对象,输出的结果如下:

image.png

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)

可以看到我们只需要指定起始日期,以及所需要的天数,就可以实现对日期的输出:

image.png

pandas索引学习

常见的Index种类

•Index,索引

•Int64Index,整数索引

•MultiIndex,层级索引

•DatetimeIndex,时间戳类型

ser_obj = pd.Series(range(5), index = list("abcde"))
print(ser_obj)
ser_obj.index

输出结果如下:

image.png