小白学pythonPandas

# Python学习--Pandas

2019-01-17  本文已影响0人  Demafic

Pandas中的数据类型

Pandas是基于两种数据类型:series和dataframe

series是一种一维的数据类型。
dataframe是一个二维的,表格型的数据结构类型。

Pandas数据导入

df = pd.read_csv('文件名/文件地址')

如果,py文件与你要导入的文件在同一个文件夹,则只需要写明文件名即可,否则要详细写明文件的地址。

其中,函数read_csv()中的参数重点是headerencoding
header关键字告诉Pandas哪些是数据的列名如果没有则将它设为None,;
encoding关键字通常在你数据集里有中文时加上,表明encoding='gkb',防止乱码。

简单的数据查看

df.head(x)
#查看前x行的数据

df.tail(x)
#查看后x行的数据

但是要注意使用tail函数时,不是从最后一行倒着显示的,而是按照数据原来的顺序显示的。

简单的数据查找

如果我们只对表中的一列或者几列感兴趣,那么我们只需利用列的标签就能轻松做到提取其中的一整列。

df['列标签的名字']

注意,当我们提取列时,最终得到的是一个series。

同时我们可以利用条件不等式来得到我们希望看到的数据。
如:

df['xxx']<1000

最终会返回一个dataframe。其中true表示符合条件,而False反之。
同时,你也可以这么写:

df[df['xxx']<1000]

这得到的是满足条件的记录的所有数据。

当然你也可以通过复合条件表达式来进行过滤:

df[(df['xxx']<1000)&(df['yyy']>1000)]

如果你的数据中含有字符串,那么你也可以使用字符串方法来进行过滤:

df[df['Water Year'].str.startswith('xxx')]

最终返回的是含有以xxx开头的字符串的记录的所有数据。

索引

我们也可以通过行标签来获得想要的行,获取行数据的方法是根据标签的类型而定的。

如果你的行标签是数字型,那么你可以通过iloc来引用:

df.iloc[30]

如果你的数据集中含有年份或者年龄的列,可以通过这些年龄或年份来引用行,这时首先需要设置一个新的索引:

df = df.set_index(['xxx'])

其中,xxx为你想设置为索引的那一列的列名。

由于我们设置的索引列中都是字符型数值,所以我们不能再使用iloc,而是用loc

df.loc['2019/1']
上一篇下一篇

猜你喜欢

热点阅读