1.pandas简介
pandas中有两大核心数据结构:
Series(一维数据)和DataFrame(多特征数据,既有行索引,又有列索引)。
Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。
Pandas 可以对各种数据进行运算操作,比如归并、再成形、选择,还有数据清洗和数据加工特征。
2.pd.Series
Series中最重要的一个功能是:它会在算术运算中自动对齐不同索引的数据。
pandas.Series( data, index, dtype, name, copy),其中dtype默认的话系统会自行判断。
#示例
import pandas as pd
a=[1,2,3]
x=pd.Series(a)
print(x)
b={1:"写",2:"代",3:"码"}
c=pd.Series(b,index=[1,2],name="写代码")
print(c)
3.pd.DataFrame
DataFrame 是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型(数值、字符串、布尔型值)。
DataFrame 既有行索引也有列索引,它可以被看做由 Series 组成的字典(共同用一个索引)。
pandas.DataFrame( data, index, columns, dtype, copy),其中data:一组数据(ndarray、series, map, lists, dict 等类型)。
关键字del用于删除列。
#示例
import pandas as pd
data=[{'a':1,'b':2},{'a':1,'b':2,'c':3}]
df=pd.DataFrame(data)
print(df)
Pandas 可以使用 loc 属性返回指定索引对应到的某一行(示例如下):
import pandas as pd
data = {
"calories": [420, 380, 390],
"duration": [50, 40, 45]
}
df = pd.DataFrame(data, index=["day1", "day2", "day3"])
print(df.loc["day2"])
4.Pandas CSV文件
#示例
import pandas as pd
df = pd.read_csv('xxx.csv')
print(df.to_string())#to_string() 用于返回 DataFrame 类型的数据,如果不使用该函数,则输出结果为数据的前面 5 行和末尾 5 行,中间部分以 ... 代替。
to_csv() 方法将 DataFrame 存储为 csv 文件。
head( n ) 方法用于读取前面的 n 行,如果不填参数 n ,默认返回 5 行,示例如下:
import pandas as pd
df = pd.read_csv('xxx.csv')
print(df.head())
tail( n ) 方法用于读取尾部的 n 行,如果不填参数 n ,默认返回 5 行,空行各个字段的值返回 NaN。
info() 方法返回表格的一些基本信息。
5.Pandas JSON文件
#示例
import pandas as pd
df = pd.read_json('xxx.json')
print(df.to_string())#to_string() 用于返回 DataFrame 类型的数据,我们也可以直接处理 JSON 字符串。
json_normalize() 方法可以将内嵌的数据完整的解析出来。
我们需要使用到 glom 模块来处理数据套嵌,glom 模块允许我们使用 . 来访问内嵌对象的属性,第一次使用需要下载:pip install glom。
6.Pandas数据清洗
删除包含空字段的行,可以使用 dropna() 方法。
isnull() 判断各个单元格是否为空。
默认情况下,dropna() 方法返回一个新的 DataFrame,不会修改源数据。
如果你要修改源数据 DataFrame, 可以使用 inplace = True 参数。
fillna() 方法来替换一些空字段。
替换空单元格的常用方法是计算列的均值、中位数值或众数。
Pandas使用 mean()、median() 和 mode() 方法。
计算列的均值(所有值加起来的平均值)、中位数值(排序后排在中间的数)和众数(出现频率最高的数)。
如果对应的数据是重复的,duplicated() 会返回 True,否则返回 False。
删除重复数据,可以直接使用drop_duplicates() 方法。
注:如有任何不妥之处,请评论或私信告知,谢谢!