pandas是一个基于什么的python库_Python的Pandas库简述

pandas 是 python 的数据分析处理库

import pandas as pd

1、读取CSV、TXT文件

foodinfo = pd.read_csv("pandas_study.csv", encoding = "utf-8")

2、查看前N条、后N条信息

foodinfo.head(N)

foodinfo.tail(N)

3、查看数据框的格式,是DataFrame还是ndarray

print(type(foodinfo))#结果:

4、查看有哪些列

foodinfo.columns

5、查看有几行几列

foodinfo.shape

6、打印某一行、某几行数据

foodinfo.loc[0]

foodinfo.loc[0:2]

foodinfo.loc[[2, 5, 10]] #注意里面是一个数组

7、打印某一列、某几列数据

foodinfo["dti"]

foodinfo[["int_rate", "dti"]] #注意里面是一个数组#或者:

columns = ["int_rate", "dti"]

foodinfo[columns]

8、打印所有列的数据类型

foodinfo.dtypes

9、对列的一些相关操作

col_columns =foodinfo.columns.tolist()

new_columus=[]for c incol_columns:if c.endswith("s"):

new_columus.append(c)print(c)

foodinfo[new_columus]

10、加减乘除:将每行都乘以100(加 减 乘 除 一样)

foodinfo[["int_rate", "dti"]] * 100

11、增加一列

new_col = foodinfo["int_rate"] * 100foodinfo["new_col"]= new_col

12、列之间的运算

foodinfo["dti"] * foodinfo["int_rate"]

13、查看列的最大值、最小值、平均值

foodinfo["int_rate"].max()

foodinfo["int_rate"].min()

foodinfo["int_rate"].mean()

14、按某个字段排序 - 升序

#inplace是否新建一个dataframe,True不需要

foodinfo.sort_values("int_rate_one", inplace =True)#按某个字段排序 - 降序

foodinfo.sort_values("int_rate_one", inplace = True, ascending = False)

15、查看数据框的一些属性:最大、最小、均值、四分位数等

foodinfo.describe()

16、空值相关的操作

pin = foodinfo["pin"]

pin_isnull= pd.isnull(pin) #查看所有空值

pin_isnull_list = foodinfo[pin_isnull] #找出所有为空值的行

len(pin_isnull_list) #空值的个数

17、缺失值相关操作

#简单的处理办法就是过滤掉null值

books = foodinfo["life_cycle_books"]

book_isnull=pd.isnull(books)

book_list_isnull= foodinfo["life_cycle_books"][book_isnull ==False]

mean= sum(book_list_isnull) / len(book_list_isnull) #计算平均值

18、根据条件打印某列数据

foodinfo[foodinfo["life_cycle_books"] == 1]

19、数据透视表

importnumpy as np#index:要透视的列#values:要比较的关系列#aggfunc:具体的关系,默认值:np.mean

data_foodinfo = foodinfo.pivot_table(index = ["life_cycle_books", "potential_value_books"], values = "risk_level", aggfunc =np.mean)print(data_foodinfo)

20、删除缺失值

#所有行

na_foodinfo = foodinfo.dropna(axis = 1)#可以指定列

na_foodinfo = foodinfo.dropna(axis = 0, subset = ["life_cycle_books", "potential_value_books"])

21、自由取数据 如:取80行 life_cycle_books列

foodinfo.loc[80, "life_cycle_books"]

22、重新排索引

foodinfo.reset_index(drop = True)

23、自定义函数:返回空值个数

defcount_null_columns(column):

column_null=pd.isnull(column)

list_null=column[column_null]

count_null=len(list_null)returncount_null

foodinfo.apply(count_null_columns)

24、Series

#pandas 三种数据结构#Series#DataFrame#Panel

from pandas import Series

25、Series显示某一列数据

series_name = taitan["Name"]

series_name.values

26、定位某行某列

series_name = taitan["Name"]

series_age= taitan["Age"]

series_custom= Series(series_age.values, index =series_name)

series_custom[["Ahlin, Mrs. Johan (Johanna Persdotter Larsson)", "Asplund, Mrs. Carl Oscar (Selma Augusta Emilia Johansson)"]]#说明:series_custom[""] 按列取 series_custom[[""]] 按行取

27、取5-10行数据,和上面一样:

series_custom[5: 10]

28、index变换

old_index =series_custom.index.tolist()

sort_index=sorted(old_index)

new_index=series_custom.reindex(sort_index)print(new_index)

29、Series按索引和值排序的函数

sc1 =series_custom.sort_index()print(sc1)

sc2=series_custom.sort_values()print(sc2)

30、Series 过滤

series_custom > 0.5series_custom[series_custom> 0.5]

series_custom[(series_custom> 0.5) & (series_custom < 0.9)]#注:&、| 都是单符号

31、DataFrame

#Series是一行数据,DataFrame是多行数据#DataFrame 可以看成由多个 Series 组成的

df = pd.read_csv("titanic_train.csv")

32、DataFrame的索引变换

#drop 是否新创建一个DF,True否 False是(表示还要保留Name这一列,否则一会无法进行计算)

df_name = df.set_index("Name", drop = False)

33、DataFrame查看某一类型的数据

types =df_name.dtypes

float_columns= types[types.values == "float64"].index

df_name[float_columns]

34、DataFrame求方差

float_df =df_name[float_columns]

float_df.apply(lambda x: np.std(x))

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值