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()
输出如下:
当然,我们也可以从字典中来构建相应的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
上述代码的运行结果如下:
上述代码中,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()
输出如下:
上述代码中,函数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()
运行结果如下:
上述代码中,我们通过传递index=3
以及column='col2'
来将对应单元格中的数字修改为80
;同时我们利用条件df.col1%5 == 0
,满足该条件后的形式为df.loc[2,'col1'] = -1
,进而可以改变对应单元格的数值。
7. 总结
本文重点介绍了Pandas中常用的五个简单操作,可以方便我们对二维表格数据进行简单的处理,并给出了相应的运行代码。
您学废了吗?
关注公众号《AI算法之道》,获取更多AI算法资讯。