1. 数据读取与存取
读取数据到dataframe中
pd.DataFrame.from_csv('csv_file') # 将csv文件读取,放入df中
pd.read_csv('csv_file') # 将csv文件读取,放入df中。同样有‘'read_excel'等方法
将dataframe写入csv等格式文件
df.to_csv('file.csv', sep=',', index=False) #将数据写入file.csv文件,同样,也有'to_excel'等方法
2. 数据类型转换
df.to_dict() #将df类型转成dict类型
df.to_json() #将df类型转成json类型
df.to_numpy() #将df类型转成numpy类型,与'.values'方法结果一致
pd.to_datetime() # 将表示时间的str转变成Timestamp
pd.Timestamp() # 将表示时间的str转变成Timestamp
3. 数据集信息
df.info() #数据集基本信息
df.describe() #数据集基本统计信息
统计信息包括:均值、标准差、四分位数,可以在此基础上计算出其他统计量
4. df类型和ds类型基本属性
df.index # 返回pandas.core.indexes类型
df.index.to_list() # 将index中每个元素放入list中
pandas.Series 同样有上述属性
df.columns # 返回pandas.core.indexes类型
df.columns.to_list() # 将columns中每个元素放入list中
tips: df.index 和 df.index.to_list()返回的结果都可以用'[0]'的方式索引,结果一样。
df_new = pd.DataFrame(df.values, index=df.index, columns=df.colunns)
df_new = pd.DataFrame(df.values, index=df.index.to_list(), columns=df.colunns.to_list())
pandas.Series类型没有columns属性,但是有name属性
ds = pd.Series(np.random.randn(100,), index=df.index, name='随机数')
5. 基本数据操作
检查Nan值 df.isnull()
检查缺失值,即数值数组中的 NaN 和目标数组中的 None/NaN
删除缺失值df.dropna(axis=0, how='any')
表示删除含有Nan值的行
替换缺失值df.replace(to_replace=None, value=None)
表示用value值替换to_replace值
删除特征df.drop('feature_variable_name', axis=1)
axis默认0
取前 [n] 行df.head(n)
默认前5行
6. DataFrame基本操作
改变index df.index=df['time']
表示将df中‘time’列作为新的索引
改变columns df.columns=['a', 'b']
表示将原来的列名更换成‘a’和‘b’,注意个数要一样
重命名列 df.rename(columns = {df.columns[2]:'size'}, inplace=True)
表示将原先的第3列名称换成‘size’
重新索引df.reindex([])
[]表示新的索引顺序,原来['a','b','c'], 可以变成['b','a','c']
根据索引排序 df.sort_index()
根据元素值排序df.sort_values()
df合并 pd.concat(axis=0)
数据查询:
df.iloc[]
用索引值
df.loc[]
用index和columns实际名称
df['size']
根据columns中某一名称
df.szie
取df中‘size’这一列
分组功能 df.groupby()
分割区间pd.cut()
apply方法pd.apply()