
跟随菜鸟教程学习的过程中记录。
仅记录自己不熟悉的地方,以及与Java、C存在明显差异的地方。
主要数据结构是 Series (一维数据,一维数组)与 DataFrame(二维数据,表格型数据结构)
特殊字符串变量
__version__前后都是两个下划线。
__init__也是前后各自双下划线
list、tuple有序,可以通过索引获取。
-
Series
类似表格中的一列;由索引和列组成,索引默认从0开始。
创建:1.使用list创建; 2.使用字典创建,字典的key直接变为索引。
pandas.Series(data, index, dtype, name) -
DataFrame
可以看作是Series的字典,共用一个索引
pandas.DataFrame(data, index, columns, dtype)index,索引值,也可称为行标签columns,列名称创建:1.
NumPy Ndarray对象也可用于创建DataFrame; 2.字典创建,其中的key为列名,(相当于按行插值)。3.由Json字符串创建(因为Json与字典具有相同的格式)。
pandas可以使用loc属性返回指定的行数据,默认索引从0开始。返回的其实是一个Series数据类型。也可以指定index的值,返回指定的行数据。
CSV逗号分隔值(comma-sepatared values)
df.to_string() 返回DataFrame类型数据;直接输出,会返回列表数据的展示结果。
to_csv() 存储数据
df.head() # 读取前几行数据
df.tail() # 返回最后几行数据
df.info() # 返回表格的基本信息
-
JSON(JavaScript Object Notation,Java对象表示法)
df = pd.read_json()
print(df.to_string()) # 返回DataFrame类型的数据 -
直接处理Json字符串:
df = pd.DataFrame(data) # 将Json转为DataFrame格式(因为Json与字典具有相同的格式) -
对于内嵌的JSON数据
import pandas as pd import json # 使用 Python JSON 模块载入数据 with open('nested_list.json','r') as f: data = json.loads(f.read()) # 展平数据 df_nested_list = pd.json_normalize(data, record_path =['students']) print(df_nested_list) # # 展平数据,包含json外的元素 # df_nested_list = pd.json_normalize( # data, # record_path =['students'], # meta=['school_name', 'class'] # ) -
更复杂格式的转换
使用到
glom 模块来处理数据套嵌,glom 模块允许我们使用.来访问内嵌对象的属性
-
删除空字段所在行
dropna(axis=0, how="any", subset=None, inplace=True) # inplace *** 作后会将结果覆盖原文件,默认为False。 -
subset,设置想要检查的列(该列中出现空值才会删除整行)。 -
pandas会将
n/a、NA当作空数据,na不是。但是可以指定空数据类型。 -
替换/填补空字段
fillna() # 常用方法是计算列的均值mean()、中位数值median()、众数mode(),然后传入fillna()中作为参数进行修改。 -
格式错误 - 清洗
-
时间格式
-
重复数据的清洗
duplicated() # 检查数据是否有重复
drop_duplicates()
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)