前言:
今天咱们对“jupyter怎么查看数据类型columns”大体比较关切,咱们都想要剖析一些“jupyter怎么查看数据类型columns”的相关知识。那么小编在网上网罗了一些有关“jupyter怎么查看数据类型columns””的相关资讯,希望姐妹们能喜欢,各位老铁们快快来了解一下吧!什么是Pandas
对于初学者而言,可以简单粗暴地理解为,Pandas就是Python中的Excel!所以,现在有很多人在分享如何用Python代替Excel提升工作效率之类的内容。这对很多苦Excel久矣并且有编码基础的同学还是很有诱惑力的,哈哈哈。
书归正传,Pandas库是基于NumPy库的一个开源Python库,被广泛用于完成数据分析工作,其名字源于“panel data”(面板数据)。Pandas库提供非常直观的数据结构和强大的数据处理功能,提供了大量能使我们快速便捷地处理数据的函数和方法。
Pandas官网地址为:,有兴趣深入了解和学习的同学可以自行查阅。
十分钟上手Pandas
下面是干货放送时间,翻译的官方文档《pandas: powerful Python data analysis toolkit Release 1.4.2》的2.1节《10 minutes to pandas》部分,想获取完整文档的同学请访问上面的官网至文档中获取。
0 安装、调用Pandas及相关库
!pip install pandas # 在Jupyter中安装包需要前面添加“!”import numpy as pdimport pandas as pd#help(pandas)
1 创建Pandas对象
Pandas的数据对象有两种:Serises和DataFrame。
Series类似于通过NumPy库创建的一维数组,不同的是Series对象不仅包含数值,还包含一组索引,单独使用相对较少。DataFrame是一种二维表格数据结构,可以将其看成一个Excel表格,应用广泛。
# 传递值列表(List)创建序列(Series),使用默认整数索引s = pd.Series([1, 3, 5, np.nan, 6, 8]) # 传递NumPy数组(array),创建一个带有日期索引和列标签的数据框(DateFrame)dates = pd.date_range("20130101", periods=6) df = pd.DataFrame(np.random.randn(6, 4), index=dates, columns=list("ABCD"))# 通过字典创建创建数据框(DateFrame)df2 = pd.DataFrame( {"A": 1.0, "B": pd.Timestamp("20130102"), "C": pd.Series(1, index=list(range(4)), dtype="float32"), "D": np.array([3] * 4, dtype="int32"), "E": pd.Categorical(["test", "train", "test", "train"]), "F": "foo", } )# 4 查看df2各列的数据类型df2.dtypes
其中df的输出结果如下:
后续为了避免文章过长,除核心结果外,一般的结果请小伙伴们自己输出下,这里就不一一列举了。
2 查看对象信息
一般地,我们拿到数据时,会粗略检视下数据内容,比如查看下数据的样子、索引、列名、基本统计信息等。
df.head() # 查看头部样例数据,默认为5条df.tail() # 查看后5条数据df.head(3) # 查看前3条数据df.index # 显示索引df.columns # 显示列名df.to_numpy() # 以NumPy的array方式显示数据,输出结果中不包含索引和列名df.describe() # 查看基本统计信息
其中,df.describe()的输出结果包含了样本个数、均值、标准差、分位数等描述性统计信息,如下所示。
有时,我们也会关注数据的转置和排序信息。
# 转置df.T # 排序# axis=0是按列,1是按行排序,ascending是递增参数,默认为Truedf.sort_index(axis=0, ascending=False) df.sort_values(by='B', ascending=True)
3 选择数据
我们拥有了数据之后,为了避免出现“空有宝山不自知”的尴尬局面,必须要知道如何去选择自己所需要的信息。通常,在Pandas中,使用.at, .iat, .loc和.iloc等方法选择数据。其中,带有“i”的可以理解为integer,就是按照整数标识数据位置。
df.loc[dates[0]]df.loc[:, ['A', 'B']]df.loc['20130102', ['A', 'C']]df.loc['20130102':'20130104', ['A', 'C']]df.loc[dates[0], 'A']df.at[dates[0], 'A']df.iloc[3] # 选择第3 + 1 = 4行数据df.iloc[3:5, 0:2] # 选择第4行、第5行和第1列、第2列数据,注意取值是左开右闭,即大于3小于等于5df.iloc[[1, 2, 4], [0, 2]]df.iloc[1:3, :]df.iloc[:, 1:3]df.iloc[1, 1]df.iat[1, 1]
有时,我们根据一些判断条件进行数据选择。
df[df["A"] > 0]df[df > 0]df2[df2["E"].isin(["two", "four"])]
其中,第二行代码的输出结果为:
很多时候,我们需要对已有数据中某些位置的值进行加工变更,需要进行赋值操作。
s1 = pd.Series([1, 2, 3, 4, 5, 6], index=pd.date_range("20130102", periods=6))df["F"] = s1 # 赋值新列会自动通过索引对齐数据df.at[dates[0], "A"] = 0 # 通过标签赋值df.iat[0, 1] = 0 # 通过位置赋值df.loc[:, "D"] = np.array([5] * len(df)) # 通过NumPy数组赋值
经过一番猛如虎的操作之后,会得到下面的新df:
df2 = df.copy()print(df2)print(66 * '-')df2[df2 > 0] = -df2 # 通过where条件进行赋值print(df2)
一起练习吧
好了,Pandas的第一个十分钟内容对新手而言已经比较饱和了,如果按照官方文档中的内容完全陈列就有些挂羊头卖狗肉的嫌疑。我们还是稳扎稳打比较舒服。
下面,请各位小伙伴自己亲自动手联系下相关操作,加深理解,如有问题,可在评论区交流和反馈。
需要Jupyter文件的伙伴也可留言索取,我计划把官方文档中的全部代码例子分三篇文章放出,以保证一起练习的效果。