如何在 Pandas 中遍历 DataFrame 中的行
技术问答
236 人阅读
|
0 人回复
|
2023-09-12
|
我有一个DataFrame来自pandas的:
0 H# s/ p) C2 I0 yimport pandas as pdinp = [{'c1':10,'c2':100}c1':11,'c二、十一十}c1':12,'c2':120}]df = pd.DataFrame(inp)print df4 h6 ?2 v$ ]3 b$ A
输出:3 Z- k- Z3 c0 n/ f2 b" y
/ d: r2 [9 _9 {) o8 i9 _* q% {- c1 c20 1001 11001 1102 12 120code]现在我想遍历这个框架。对于每一行,我希望通过列名访问其元素(单元格中的值)。[code]for row in df.rows: print row['c1'],row['c2']
6 R" A4 t- I7 `% G8 F5 k 在 Pandas 能做到这一点吗?" W6 N. A8 \- t0 I+ Q9 U7 q
我发现了类似的问题。但它没有给我我需要的答案。例如,建议使用:
& y" }: A0 v$ d8 r) [6 Ffor date,row in df.T.iteritems():7 Y0 {! F9 K1 B' i
或者
) R) H7 c1 w4 G3 s5 m" nfor row in df.iterrows():" _. H' o; k8 F
但我不明白row对象是什么,如何使用。6 G0 n" S* q' S) C6 W
, A' D0 L5 `- k
解决方案:
, X6 K( @. B; B9 h DataFrame.iterrows 同时产生索引和行(作为一个系列)的生成器:& m* z( L, r# T4 q" g+ w/ O t
import pandas as pddf = pd.DataFrame({'cc二、 for index,row in df.iterrows(): print(row['c1'],row['c2'])
8 d7 ~" A" L7 ?3 \9 h# `! t( o 1001111111111012120 120 |
|
|
|
|
|