一、常用操作分类
1、从不同文件中导入数据
从CSV文件中读取所有数据:pd.read_csv(file_name)
从一个分隔的文本文件(如TSV)中读取所有数据:pd.read_table(file_name)
从Excel表读取:pd.read_excel(file_name)
从SQL数据库中读取数据:pd.read_sql(query, connectionObject)
从JSON格式的字符串或URL中获取数据:pd.read_json(jsonString)
要获取剪贴板的内容:pd.read_clipboard()
2、以不同的文件格式导出DataFrames
将DataFrame写入CSV文件:df.to_csv(file_name)
将DataFrame写入Excel文件:df.to_excel(file_name)
将一个DataFrame写入一个SQL表:df.to_sql(tableName, connectionObject)
将DataFrame写入JSON格式的文件:df.to_json(file_name)
3、查看DataFrame信息
获取所有与索引、数据类型和内存相关的信息:df.info()
要提取DataFrame中最后n行:df.tail(n)
要提取DataFrame中可用的行数和列数:df.shape。
总结数字列的统计:df.describe()
要查看唯一值及其计数:ser.value_counts(dropna=False)
df.info():可以查看(数据有多少行多少列;各个属性的类型object 、int32 、int64等)
df.head(number): 可以查看(前number行的数据值)
df.sample(n): (随机的查看几个样本)
df.describe()方法:默认情况下只显示出来数值类型的数据情况,可以查看(数据的统计情况如均值、方差、最大最小值、分位数)
df.describe(include='all') 加入include参数以后,可以显示所有数据的情况,显示出来的信息如下(count、unique、top、freq 还有上述默认情况下的信息)
df.isnull().sum() 可以查看(每个列中有多少个nan值)
4、 选择数据的特定子集
提取第一行:df.iloc[0,:]。
提取第一列的第一个元素: df.iloc[0,0]
返回标签为'col'的列作为Series:df[col]。
返回具有新数据框架的列:df[[col1,col2]]。
按位置选择数据:ser.iloc[0]。
按索引选择数据:ser.loc['index_one']
5、数据清理命令
同时重命名所有列:df.rename(columns = lambda x: x + '1')
选择性地重命名列:df.rename(columns = {'oldName': 'newName'})
重命名所有的索引:df.rename(index = lambda x: x + 1)
按顺序重命名列:df.columns = ['x', 'y', 'z']。
检查是否存在空值,相应地返回一个布尔值arrray:pd.isnull()
pd.isnull()的反向:pd.notnull()
删除所有包含空值的记录:df.dropna()
删除所有包含空值的列:df.dropna(axis=1)
用'n'代替每个空值:df.fillna(n)
要将series的所有数据类型转换为浮点数:ser.astype(float)
将所有数字1替换为'1',将3替换为'3':ser.replace([1,2], ['one', 'two'])
6、分组、排序和过滤数据
返回列值的groupby对象:df.groupby(colm)
返回多列值的groupby对象:df.groupby([colm1, colm2])
按升序排序(按列):df.sort_values(colm1)
要按降序排序(按列):df.sort_values(colm2, ascending=False)
提取列值大于0.6的行:df[df[colm] > 0.6]
7、 其他
将第一个DataFrame的行添加到第二个DataFrame的末尾:df1.append(df2)
将第一个DataFrame的列添加到第二个DataFrame的末尾:pd.concat([df1,df2],axis=1)
返回所有列的平均值:df.mean()
返回非空值的数量:df.count()