如果对序列进行数学函数的运算,首选numpy模块;
如果对序列做统计运算,首选序列的“方法”,因为序列的“方法”更加丰富,如计算序列的偏度、峰度等,而Numpy模块是没有这样的函数。
手工构造数据框DataFrame时,一般首选字典方法。因为通过字典的方法构造数据框,则字典的键构成数据框的变量名。
arr1=pd.DataFrame([['张三',23,'男'],['李四',27,'女'],['王二',26,'女']]) print(arr1) print("") print("对比两种方式的区别: ") arr2=pd.DataFrame({'姓名':['张三','李四','王二'],'年龄':[23,27,26],'性别':['男','女','女']}) print(arr2)
构造序列时:pd.Series( ) 参数是列表或元组都可以
构造数据框时,pd.DataFrame( ) 使用列表或元组构造时,嵌套的最外层必须是列表list,里面一层是列表或元组都可以
#外层是元组 括号形式,不能运行,会报错 arr1=pd.DataFrame((('张三',23,'男'),('李四',27,'女'),('王二',26,'女'))) #下面两种形式 最外层是列表List的都能正常运行 arr2=pd.DataFrame([('张三',23,'男'),('李四',27,'女'),('王二',26,'女')]) arr3=pd.DataFrame([['张三',23,'男'],['李四',27,'女'],['王二',26,'女']])
读取电子表格pd.read_excel( )时指定header=False,然后报出下面的错误:
TypeError: Passing a bool to header is invalid. Use header=None for no header or header=int or list-like of ints to specify the row(s) making up the column names
如果不将数据集的第一行作为表头,需要设置header=None,而不能是header=0或header=False