dataFrame学习体会
大体上,诸如语言的学习,一定要看文档!!!尤其是Python常用的几个包(pandas,numpy,sk-learn等)
官方文档:http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html
1. dataFrame常用属性(就本人而言,使用频率比较高的):
(1)temp_df.dtype: temp_df.dtype[0]——行数;temp_df.dtype[1]——列数;
(2)temp_df.size: temp_df 的大小(类似于表格中有多少格)
(3)temp_df.iloc: temp_df.iloc[m:n], 取出temp_df的第m到第n行
2. dataFrame常用方法:
注意:调用的时候注意方法是否有返回值!!!
2.1 有返回值
(1)temp_df.reset_index(level=None, drop=False, inplace=False, col_level=0, col_fill='')
返回:dataFrame
重新设置索引,一般在删除或者合并数据后使用。drop=True 删除原有行的索引,drop=False, 原来的索引作为新的一列出现在dataFrame中。
(2)temp_df.count(axis=0, level=None, numeric_only=False)
返回:series 或者dataFrame
按行或列统计非NaN的个数
(3)temp_df.sum(),temp_df.mean(), temp_df.median()
参数(axis=0, skipna=False)
按照行列求和,平均值,中位数
返回: 计算后的Series or DataFrame
(3) temp_df.merage()
合并df, 默认按字段合并, 并合并共同的字段;
2.2 无返回值
(1)temp_df.fillna(value, method, limit ) ——找到空值进行填充
value——指定值填充空值;method——指定填充的方法,可取{‘backfill’, ‘bfill’, ‘pad’, ‘ffill’, None},一般有method,其他参数不用,limit——指定填充的行数,默认所有
# 整个temp_df 空值的地方全部填充为0
temp_df.fillna(0)
# 按列填充
values = {"a":0, "b":1,"c":2}
temp_df.fillna(value=values)
(2)temp_df.drop(columns, axis,inplace)——删除行或者列
可以通过index或者列(行)名进行删除,axis=0:表示删除行; axis=1:表示删除列;inplace:是否保留删除的数据
e.g. 删除单列 temp_df.drop('a', axis=1, inplace=True)或者 temp_df.drop(columns='a', inplace=True)
删除多列 temp_df.drop(['a', 'b'], axis=1, inplace=True)或者temp_df.drop(columns=['a', 'b'], inplace=True)
(3)保存数据到文件:temp_df.to_csv(), temp_df.to_dict(), temp_df.to_excel(), temp_df.to_json()