pandas.DataFrame按行遍历和按列遍历

文章目录

  • 问题描述
  • 按行遍历
  • 按列遍历
  • 参考文献

问题描述

pandas.DataFrame按行遍历和按列遍历_第1张图片

import pandas as pd

data = {
    'name': ['刘一', '陈二', '张三', '李四', '王五'],
    'age': [18, 19, 20, 21, 22],
    'height': [175, 176, 177, 178, 179],
}
index = ['0001', '0002', '0003', '0004', '0005']
df = pd.DataFrame(data=data, index=index)
df.index.name = 'id'
print(df)




按行遍历

pandas.DataFrame按行遍历和按列遍历_第2张图片

import pandas as pd

data = {
    'name': ['刘一', '陈二', '张三', '李四', '王五'],
    'age': [18, 19, 20, 21, 22],
    'height': [175, 176, 177, 178, 179],
}
index = ['0001', '0002', '0003', '0004', '0005']
df = pd.DataFrame(data=data, index=index)
df.index.name = 'id'

# 按行遍历
for index, x in df.iterrows():
    print(index, x['name'], x['age'], x['height'])
print()
# 0001 刘一 18 175
# 0002 陈二 19 176
# 0003 张三 20 177
# 0004 李四 21 178
# 0005 王五 22 179

columns = df.columns
for index, x in df.iterrows():
    print(index, end=' ')
    for column in columns:
        print(x[column], end=' ')
    print()
print()
# 0001 刘一 18 175
# 0002 陈二 19 176
# 0003 张三 20 177
# 0004 李四 21 178
# 0005 王五 22 179

# 转字典
for index, x in df.iterrows():
    print(index, x.to_dict())
print({index: x.to_dict() for index, x in df.iterrows()})
# 0001 {'name': '刘一', 'age': 18, 'height': 175}
# 0002 {'name': '陈二', 'age': 19, 'height': 176}
# 0003 {'name': '张三', 'age': 20, 'height': 177}
# 0004 {'name': '李四', 'age': 21, 'height': 178}
# 0005 {'name': '王五', 'age': 22, 'height': 179}
# {'0001': {'name': '刘一', 'age': 18, 'height': 175}, '0002': {'name': '陈二', 'age': 19, 'height': 176}, '0003': {'name': '张三', 'age': 20, 'height': 177}, '0004': {'name': '李四', 'age': 21, 'height': 178}, '0005': {'name': '王五', 'age': 22, 'height': 179}}




按列遍历

pandas.DataFrame按行遍历和按列遍历_第3张图片

import pandas as pd

data = {
    'name': ['刘一', '陈二', '张三', '李四', '王五'],
    'age': [18, 19, 20, 21, 22],
    'height': [175, 176, 177, 178, 179],
}
index = ['0001', '0002', '0003', '0004', '0005']
df = pd.DataFrame(data=data, index=index)
df.index.name = 'id'

# 按列遍历
print(df.index.name, end=' ')
for index in df.index:
    print(index, end=' ')
print()
print()
# id 0001 0002 0003 0004 0005

for column, x in df.items():
    print(column, end=' ')
    for i in x:
        print(i, end=' ')
    print()
print()
# name 刘一 陈二 张三 李四 王五
# age 18 19 20 21 22
# height 175 176 177 178 179

for column in df.columns:
    print(column, end=' ')
    for i in df[column]:
        print(i, end=' ')
    print()
print()
# name 刘一 陈二 张三 李四 王五
# age 18 19 20 21 22
# height 175 176 177 178 179

# 转字典
for column, x in df.items():
    print(f'index_{column}_map', x.to_dict())
# index_name_map {'0001': '刘一', '0002': '陈二', '0003': '张三', '0004': '李四', '0005': '王五'}
# index_age_map {'0001': 18, '0002': 19, '0003': 20, '0004': 21, '0005': 22}
# index_height_map {'0001': 175, '0002': 176, '0003': 177, '0004': 178, '0005': 179}




参考文献

  1. pandas.DataFrame Documentation
  2. 10分钟了解Pandas基础知识
  3. Pandas index column title or name

你可能感兴趣的:(Python,python,pandas)