Python Pandas

it2024-10-05  35

基于Numpy构建的Pandas库,提供了使得数据分析变得更快更简单的高级数据结构和操作工具

Pandas Series对象 Series 是带标签数据的一维数组

Series对象的创建

通用结构: pd.Series(data, index=index, dtype=dtype)

data:数据,可以是列表,字典或Numpy数组

index:索引,为可选参数

dtype: 数据类型,为可选参数

创建

data = pd.Series([1.5, 3, 4.5, 6], index=["a", "b", "c", "d"],dtype="float") a 1.5 b 3.0 c 4.5 d 6.0 dtype: float64 population_dict = {"BeiJing": 2154, "ShangHai": 2424, "ShenZhen": 1303, "HangZhou": 981 } population = pd.Series(population_dict) BeiJing 2154 ShangHai 2424 ShenZhen 1303 HangZhou 981 dtype: int64

DataFrame 是带标签数据的多维数组

DataFrame对象的创建

通用结构: pd.DataFrame(data, index=index, columns=columns)

data:数据,可以是列表,字典或Numpy数组

index:索引,为可选参数

columns: 列标签,为可选参数

population_dict = {"BeiJing": 2154, "ShangHai": 2424, "ShenZhen": 1303, "HangZhou": 981 } population = pd.Series(population_dict) pd.DataFrame(population)#利用这个区创建DataFrame pd.DataFrame(population, columns=["population"])#修改列的标签 pd.DataFrame({"population": population, "GDP": GDP})#合并两个data,变成一个

获取行 绝对索引 df.loc 相对索引 df.iloc

data.loc["BeiJing"] data.iloc[0] pop 2154 GDP 30320 Name: BeiJing, dtype: int64 如果是[0:2]就是变成切片 [[1,5],2:5]就是取15行,2-5列的数据

布尔索引

df2['E'] = ['one', 'one', 'two', 'three', 'four', 'three'] df2 ind = df2["E"].isin(["two", "four"]) df2[ind]#这样就只会取2和4那两行 np.unique(y)#统计y里面元素的种类 city_info.sort_values(by="per_GDP")#进行排序,正向的,索引为per_GDP

apply(method)的用法:使用method方法默认对每一列进行相应的操作

删除整行

data.dropna()

删除整列

data.dropna(axis="columns")
最新回复(0)