7 Dataframe 对象的迭代

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)    

 

posted @ 2020-04-30 11:19  unuliha  阅读(726)  评论(0)    收藏  举报