回答

收藏

如何在 Pandas 中遍历 DataFrame 中的行

技术问答 技术问答 237 人阅读 | 0 人回复 | 2023-09-12

我有一个DataFrame来自pandas的:
" d! D1 ^% a2 K; J& [7 J
    import 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 f
    for 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
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则