- 引言
Pandas
是专门为 csv、excel
等表格数据创建的数据分析、可视化和操作的第三方库。其中 DataFrame
是一种二维数据结构,它一般是由行和列组成的表格数据。在Python3中使用Pandas库,可以方便我们对表格数据执行相应的数据操作。
闲话少说,我们直接开始吧!
- 创建空的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
- 从元组或字典中构建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
对上述字典中,键是列名,所有列表值的长度都应该相同。
- 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
中所有列数相同大小的数组。
- DataFrame中删除行或列
在 Pandas
中我们主要使用函数 drop
来删除行或列,样例代码如下:
df.drop(index = [1,2], columns = ['col3'],inplace = True)
df.head()
输出如下:
上述代码中,函数
df.drop()
通过 index
参数来选择需要删除的行,同时通过 columns
参数来选择需要删除的列。
- 修改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
,进而可以改变对应单元格的数值。
- 总结
本文重点介绍了Pandas中常用的五个简单操作,可以方便我们对二维表格数据进行简单的处理,并给出了相应的运行代码。
您学废了吗?
关注公众号《AI算法之道》,获取更多AI算法资讯。
Original: https://blog.csdn.net/sgzqc/article/details/124412685
Author: 赵卓不凡
Title: Pandas中五个常见操作小结
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/673960/
转载文章受原作者版权保护。转载请注明原作者出处!