pandas按行按列遍历Dataframe的几种方式
更新时间:2019年10月23日 15:13:03 转载 作者:K.I.O
这篇文章主要介绍了pandas按行按列遍历Dataframe的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
遍历数据有以下三种方法:
![3b181a7d3298a36573b01a5ff2ad5cec.png](https://i-blog.csdnimg.cn/blog_migrate/f3f8fa0f4c7380b2d4cf8066581147f0.png)
简单对上面三种方法进行说明:
- iterrows(): 按行遍历,将DataFrame的每一行迭代为(index, Series)对,可以通过row[name]对元素进行访问。
- itertuples(): 按行遍历,将DataFrame的每一行迭代为元祖,可以通过row[name]对元素进行访问,比iterrows()效率高。
- iteritems():按列遍历,将DataFrame的每一列迭代为(列名, Series)对,可以通过row[index]对元素进行访问。
示例数据
1
2
3
4
5
6import
pandas as pd
inp =
[{'c1':10, 'c2':100}, {'c1':11, 'c2':110}, {'c1':12, 'c2':123}]
df =
pd.DataFrame(inp)
print(df)
![9c427e9e37e9b01853468d06af205a37.png](https://i-blog.csdnimg.cn/blog_migrate/ae681dd070d789ae9a2cb5ddc348e0a7.png)
按行遍历iterrows():
1
2for
index, row in
df.iterrows():
print(index) # 输出每行的索引值
![5f1bf8a3fc7f2d14547157c6cbf16a83.png](https://i-blog.csdnimg.cn/blog_migrate/b4fe6c829149bb901c1aa615451172ae.png)
row[‘name']
1
2
3# 对于每一行,通过列名name访问对应的元素
for
row in
df.iterrows():
print(row['c1'], row['c2']) # 输出每一行
![3c2feb4f187dcb4d1018478179c1bdf7.png](https://i-blog.csdnimg.cn/blog_migrate/fde09ac86a60d076ff14763ac81c3d28.png)
按行遍历itertuples():
getattr(row, ‘name')
1
2for
row in
df.itertuples():
print(getattr(row, 'c1'), getattr(row, 'c2')) # 输出每一行
![107e5017718c839b3199e9dc5561e6f6.png](https://i-blog.csdnimg.cn/blog_migrate/60c69bc0c4d3550bca17fe71b36cb70b.png)
按列遍历iteritems():
1
2for
index, row in
df.iteritems():
print(index) # 输出列名
![4d09d13fcbfc58c87cd495e827fe00e5.png](https://i-blog.csdnimg.cn/blog_migrate/7a00439423e53de951b52d2e959538f5.png)
1
2for
row in
df.iteritems():
print(row[0], row[1], row[2]) # 输出各列
![beae21a4a85a60e78b5f57cc99205c27.png](https://i-blog.csdnimg.cn/blog_migrate/8496414572f65664743e8100eb2e4630.png)