参考链接
Series
Series的创建
pd.series(list, index[])第二个参数是Series中数据的索引,可以省略。
其中第一个参数可以有三种格式:
- ndarray
- dict,其中dict的keys将会在自动作为索引
- DataFrame中的某一行或某一列
DataFrame
DataFrame是一个表格型的数据类型,每列值类型可以不同,是最常用的pandas对象。DataFrame既有行索引也有列索引,它可以被看做由Series组成的字典(共用同一个索引)。DataFrame中的数据是以一个或多个二维块存放的(而不是列表、字典或别的一维数据结构)。
DataFrame的创建
pd.DataFrame(data,columns = [],index = [])columns和index为指定的列、行索引,并按照顺序排列。
创建DataFrame最常用的是直接传入一个由等长列表或NumPy数组组成的字典,会自动加上行索引,字典的键会被当做列索引
import pandas as pddata = {'state': ['Ohio', 'Ohio', 'Ohio', 'Nevada', 'Nevada', 'Nevada'],'year': [2000, 2001, 2002, 2001, 2002, 2003],'pop': [1.5, 1.7, 3.6, 2.4, 2.9, 3.2]}df= pd.DataFrame(data)In [45]: dfOut[45]:pop state year0 1.5 Ohio 20001 1.7 Ohio 20012 3.6 Ohio 20023 2.4 Nevada 20014 2.9 Nevada 20025 3.2 Nevada 2003
如果创建时指定了columns和index索引,则按照索引顺序排列,并且如果传入的列在数据中找不到,就会在结果中产生缺失值:
In [48]: df2 = pd.DataFrame(data, columns=['year', 'state', 'pop', 'debt'],....: index=['one', 'two', 'three', 'four', 'five', 'six'])In [49]: df2Out[49]:year state pop debtone 2000 Ohio 1.5 NaNtwo 2001 Ohio 1.7 NaNthree 2002 Ohio 3.6 NaNfour 2001 Nevada 2.4 NaNfive 2002 Nevada 2.9 NaNsix 2003 Nevada 3.2 NaN
另一种常见的创建DataFrame方式是使用嵌套字典,如果嵌套字典传给DataFrame,pandas就会被解释为外层字典的键作为列,内层字典键则作为行索引:
In [65]: pop = {'Nevada': {2001: 2.4, 2002: 2.9},....: 'Ohio': {2000: 1.5, 2001: 1.7, 2002: 3.6}}In [66]: df3 = pd.DataFrame(pop)In [67]: df3Out[67]:Nevada Ohio2000 NaN 1.52001 2.4 1.72002 2.9 3.6
DataFrame增加数据
目测比较好用的方法是用
.loc()方法直接增加一行数据。可以配合shape使用row_num, column_num = df.shapedf.loc[row_num] = {key:value, key:value}
数据保存
保存成csv
dataFrame.to_csv()
