Python中,使用pandas进行数据处理和存储非常方便,同样,字典的使用也是很多操作中不可或缺的。本文主要是记录在使用过程中的经历,总结和分享,便于日后查看。
任务1:将字典的keys作为pandas的列名称,values作为pandas的行数据
废话不多说,直接上代码,结果一目了然:
import pandas as pd
dct = {'key1': [1, 4], 'key2': [2, 5], 'key3': [3, 6]}
dataframe = pd.DataFrame(dct) # index默认为None
# dataframe = pd.DataFrame(dct, index=[1, 2])
# dataframe = pd.DataFrame(dct, index=['v1', 'v2'])
print('dataframe: \n', dataframe)
结果如下图所示:
-
index = [0, 1] or index = None
-
index = [1, 2]
-
index = [‘v1’, ‘v2’]
其中,需要说明的大概是pd.DataFrame中的index这个参数了。其实这个参数可以不写,之所以把它拎出来,是因为,之前一直对这个参数的意义理解不清;
- 直接给出官网上的解释链接;
参数:index
类型:Index or array-like
描述:Index to use for resulting frame. Will default to RangeIndex if no indexing information part of input data and no index provided.
翻译:用于生成帧的索引。如果输入数据中没有索引信息,也没有提供索引,则默认为RangeIndex。
- 个人的理解(比较简单):
从上述三幅图的变化可以看出,index是对索引命名的一种方式,它的shape或者说它的列表长度,与字典数据中,value的shape或列表长度,保持一致。
小任务:将索引作为数据列,并重命名
除了上述通过index直接命名pandas的索引之外,还可以通过下面的方式进行重命名。
功能和代码过于简单,直接看就明白了。
- 只需要注意一点:reset_index()并非原地操作,其返回值才是更改之后的新数据。
dataframe = dataframe.reset_index().rename(columns={'index': 'column_index'})
print('rename index of dataframe\n', dataframe)
结果如下图所示: