【pandas】[8] pandas逐行(iterrows())或逐列(iteritems())处理 | 您所在的位置:网站首页 › pandas读取dataframe索引 › 【pandas】[8] pandas逐行(iterrows())或逐列(iteritems())处理 |
1、构建dataframe df = pd.DataFrame([('E146', 100.92, '[-inf ~ -999998.0]'),('E138', 107.92, '[-999998.0 ~ 2]'),('E095', 116.92, '[1.5 ~ 3.5]')],columns = ['name', 'score', 'value']) Out[11]: name score value 0 E146 100.92 [-inf ~ -999998.0] 1 E138 107.92 [-999998.0 ~ 2] 2 E095 116.92 [1.5 ~ 3.5]
2、逐行操作,其实就是调用DataFrame的iterrows()函数 for row_index, row in df.iterrows(): print('行号:', row_index) print('第{} 行的值: '.format(row_index)) print(row) print('第{} 行 value 列的值: '.format(row_index), row['value'])结果: 行号: 0 第0 行的值: name E146 score 100.92 value [-inf ~ -999998.0] Name: 0, dtype: object 第0 行 value 列的值: [-inf ~ -999998.0] 行号: 1 第1 行的值: name E138 score 107.92 value [-999998.0 ~ 2] Name: 1, dtype: object 第1 行 value 列的值: [-999998.0 ~ 2] 行号: 2 第2 行的值: name E095 score 116.92 value [1.5 ~ 3.5] Name: 2, dtype: object 第2 行 value 列的值: [1.5 ~ 3.5]
3、逐列操作,其实就是调用DataFrame的iteritems()函数 for col_index, col_value in df.iteritems(): print('列名:', col_index) print('{} 列的值:'.format(col_index)) print(col_value)结果: 列名: name name 列的值: 0 E146 1 E138 2 E095 Name: name, dtype: object 列名: score score 列的值: 0 100.92 1 107.92 2 116.92 Name: score, dtype: float64 列名: value value 列的值: 0 [-inf ~ -999998.0] 1 [-999998.0 ~ 2] 2 [1.5 ~ 3.5] Name: value, dtype: object
总结: df.iterrows() 是取出df的每一行 df.iteritems() 是取出df的每一列 ps:如果df比较大。建议不要使用如上方式。考虑使用df的map()、apply()、applymap()等方法
|
CopyRight 2018-2019 实验室设备网 版权所有 |