N=20
### 直接列名迭代
df = pd.DataFrame({
'A': pd.date_range(start='2016-01-01',periods=N,freq='D'),
'x': np.linspace(0,stop=N-1,num=N),
'y': np.random.rand(N),
'C': np.random.choice(['Low','Medium','High'],N).tolist(),
'D': np.random.normal(100, 10, size=(N)).tolist()
})
for col in df:
print(col)
### 键值对迭代,将以列标签为键,列元素为值
df = pd.DataFrame(np.random.randn(4,3),columns=['col1','col2','col3'])
for key,value in df.iteritems():
print(key,value)
### 也可以行迭代,遍历行,此时列标签将作为索引
for row_index,row in df.iterrows():
print(row_index,row)
### 也可以将每行封装成一个元组进行迭代
for row in df.itertuples():
print(row)
###迭代返回原始数据的副本或视图,并不会更改原始对象
for index,row in df.iterrows():
row['a'] = 10
print(row)