如何在 Pandas 中遍历 DataFrame 中的行
技术问答
237 人阅读
|
0 人回复
|
2023-09-12
|
我有一个DataFrame来自pandas的:
" d! D1 ^% a2 K; J& [7 Jimport pandas as pdinp = [{'c1':10,'c2':100}c1':11,'c二、十一十}c1':12,'c2':120}]df = pd.DataFrame(inp)print df
+ K8 y5 I9 h0 m# w 输出:
! k+ s3 Y# q1 v; k( \( R" c9 `" m# l$ n
- c1 c20 1001 11001 1102 12 120code]现在我想遍历这个框架。对于每一行,我希望通过列名访问其元素(单元格中的值)。[code]for row in df.rows: print row['c1'],row['c2']8 Q' e% g7 O! s3 b7 E
在 Pandas 能做到这一点吗?
# b' a+ M0 L' N3 i9 a- y我发现了类似的问题。但它没有给我我需要的答案。例如,建议使用:( Z9 r/ u+ e& P) z( \
for date,row in df.T.iteritems():/ c' J$ J' H4 S, V8 b( G
或者
; d+ A( b7 o% n& |8 s3 ffor row in df.iterrows():
' A2 i' N% \$ Q0 h2 _ 但我不明白row对象是什么,如何使用。" V* [2 g6 V8 [$ o1 E1 H0 }
3 v' k+ ~6 N: T0 }, x$ \
解决方案:
( V* O0 l$ c( [1 D' I9 w DataFrame.iterrows 同时产生索引和行(作为一个系列)的生成器:; s8 f* A7 t4 F- S
import pandas as pddf = pd.DataFrame({'cc二、 for index,row in df.iterrows(): print(row['c1'],row['c2'])$ y# A& L9 j2 A! j2 K
1001111111111012120 120 |
|
|
|
|
|