Pandas数据分析10——数据迭代

 参考书目:《深入浅出Pandas:利用Python进行数据处理与分析》


pandas的数据如果要循环去对每行或每列操作,要迭代操作如下。

先读取案例数据

import numpy as np
import pandas as pd 
import datetime
data = 'https://www.gairuo.com/file/data/dataset/team.xlsx'
df = pd.read_excel(data) 

Series迭代

for i in df.name:
    print(i)
for i,n,q in zip(df.index,df.name,df.Q1):
    print(i,n,q)

df.iterrows() 

#按行迭代,返回索引和行数据
for index, row in df.iterrows():
    print(index, row['name'], row.team, row.Q1)

df.itertuples()

#可以生成一个 namedtuples 类型数据,非常方便使用:
for row in df.itertuples():
    print(row)
# Pandas(Index=0, name='Liver', team='E', Q1=89, Q2=21, Q3=24, Q4=64)
for row in df.itertuples(index=False):
    print(row)
# Pandas(name='Liver', team='E', Q1=89, Q2=21, Q3=24, Q4=64)
for row in df.itertuples(index=False, name='Gairuo'): # namedtuples
    print(row)
# Gairuo(name='Liver', team='E', Q1=89, Q2=21, Q3=24, Q4=64)
# 使用
for row in df.itertuples():
    print(row.Index, row.Q1)

df.items()

#df.items()和df.iteritems()功能相同
for label, ser in df.items():
    print(label)
    print(ser[:2],end='\n')


按列迭代

# 依次取出每个列
for column in df:
    print(df[column])

# 可对每个列的内容进行迭代
for column in df:
    for i in df[column]:
        print(i)

# 当然,可以迭代指定列
for i in df.name:
    print(i)

# 一个方法,只迭代想要的列
l = ['name', 'Q1']
cols = df.columns.intersection(l)
for col in cols:
    print (col)

猜你喜欢

转载自blog.csdn.net/weixin_46277779/article/details/126105786