1. 引言

​Pandas​​是专门为​​csv、excel​​等表格数据创建的数据分析、可视化和操作的第三方库。其中​​DataFrame​​是一种二维数据结构,它一般是由行和列组成的表格数据。在Python3中使用Pandas库,可以方便我们对表格数据执行相应的数据操作。

闲话少说,我们直接开始吧!

2. 创建空的DataFrame

Q1: 在Pandas中如何创建空的DataFrame ?

代码如下:

df = pd.DataFrame(index=[0,1,2,3,4],columns = ['col1','col2'])
df.head() # Prints top 5 rows in the dataframe

输出如下:

 col1 col2
0 NaN NaN
1 NaN NaN
2 NaN NaN
3 NaN NaN
4 NaN NaN

上述代码中,函数​​pd.DataFrame()​​创建了一个空的dataframe,包含两列,名字分别为​​col1​​以及​​col2​


3. 从元组或字典中构建DataFrame

我们可以从元组列表中构建​​DataFrame​​,并为其赋初试值。样例代码如下:

data = [(1,2),(3,4),(5,6)]
df = pd.DataFrame.from_records(data,columns=['col1','col2'])
df.head()

输出如下:

Pandas中五个常见操作小结_Python

当然,我们也可以从字典中来构建相应的​​DataFrame​​,样例代码如下:

data = {'col1':[1,3,5],'col2':[2,4,6]}
df = pd.DataFrame.from_dict(data)
df.head()

输出如下:

  col1 col2
0 1 2
1 3 4
2 5 6

对上述字典中,键是列名,所有列表值的长度都应该相同。

4. DataFrame添加新行或新列

如果我们想要对已经存在的​​DataFrame​​中添加新的列,我们可以简单的这么操作,代码如下:

df['col3'] = [1,2,3] # ADDING COLUMN NAMES COL3

同样如果我们想要增加新的行,代码如下:

df.loc[df.shape[0],] = [7,8,9] # ADDING ROW AT LAST OF THE DATAFRAME

上述代码的运行结果如下:

Pandas中五个常见操作小结_Python_02

上述代码中,​​df['col3'] ​​往​​df​​中添加了新的一列,添加值的数目等于现存的列中的元素数目。

​df.loc[rows,columns]​​是一个基本的单元格选择操作。例如:在上述例子中,df总共有3行。要添加新行,我们调用​​df.shape[0]​​的值为3。此时上述代码等价于​​df.loc[3] = [7,8,9]​​。需要注意的是,我们需要传递与​​df​​中所有列数相同大小的数组。


5. DataFrame中删除行或列

在​​Pandas​​中我们主要使用函数​​drop​​来删除行或列,样例代码如下:


df.drop(index = [1,2], columns = ['col3'],inplace = True)
df.head()

输出如下:

Pandas中五个常见操作小结_Python_03

上述代码中,函数​​df.drop()​​通过​​index​​参数来选择需要删除的行,同时通过​​columns​​参数来选择需要删除的列。


6. 修改DataFrame指定单元格的值

在​​Pandas​​中主要利用函数​​df.loc()​​来修改指定单元格的数值,样例代码如下:


Example1: Change index=3 and column='col3' value = 80
df.loc[3,'col2'] = 80
Example2: Change the values in col1 which are divisible by 5 to -1
df.loc[df.col1%5 == 0,'col1'] = -1
df.head()

运行结果如下:

Pandas中五个常见操作小结_数据处理_04

上述代码中,我们通过传递​​index=3​​以及​​column='col2'​​来将对应单元格中的数字修改为​​80​​;同时我们利用条件​​df.col1%5 == 0​​,满足该条件后的形式为​​df.loc[2,'col1'] = -1​​,进而可以改变对应单元格的数值。


7. 总结

本文重点介绍了Pandas中常用的五个简单操作,可以方便我们对二维表格数据进行简单的处理,并给出了相应的运行代码。
您学废了吗?

Pandas中五个常见操作小结_数据_05

关注公众号《AI算法之道》,获取更多AI算法资讯。

Pandas中五个常见操作小结_数据处理_06