#__author__='ZHENGT'
# -*- coding: utf-8 -*-
#A.For: for var in Seq:
# expression
# 参数:
# var seq中的元素
# seq Array、Series、DataFrame
# expr 执行的逻辑
# for循环会遍历seq中的每个元素,每次遍历把一个元素放在var中,seq可以是数组、序列、数据框等数据结构;
# 每次遍历的时候,我们可以在expr的表达式位置,加上自己的处理逻辑。
from pandas import Series;
from pandas import DataFrame;
#Loop number
for i in range(10): #从0循环到9
print ('Now is-->'),i
#Loop String
for letter in 'Python': #从P...n
print('Now is:'),letter
#Loop Array
fruits=['banana','apple','mange']
for fruit in fruits:
print ('Now is:'),fruit
#Loop Series
x=Series(['a',True,1],index=['first','second','third']); #Series是可以带索引index的
print x
for v in x: #循环值value-->a,True,1
print("value is:"),v
for index in x.index: #循环索引-->first,second,third
print("index is:"),index
print("value is:"),x[index]
print("---------------------------------")
#Loop DataFrame
df=DataFrame({
'age':Series([21,22,23]),
'name':Series(['Ken','John','JIMI'])
})
# loop Name
for r in df: #循环名称-->age,name
print(r)
#Loop Column
for cName in df: #循环列名-->age,name
print('df.column:'),cName
print('df.value\n'),df[cName] #列的数据
#Loop Row,Way1
for rIndex in df.index: #循环行号0开始
print("Now is line"), rIndex
print(df.irow(rIndex))
#Loop Row,Way2
for r in df.values: #循环数据行
print(r)
print(r[0])
print(r[1])
print("-----------------------------")
#Loop Row,Way3
for index,row in df.iterrows(): #循环行列
print('Row:'),index
print row
print("----------------------------")
#B.while循环
# while的循环语法格式:
# while cond:
# expr
# 参数
# cond 逻辑条件语句
# expr 执行的逻辑
#最普通的while循环
i = 0
while i <= 9:
print('Loop to:', i);
i = i+1;
#整合if判断语句,使用continue
i = 1
while i < 10:
i += 1 # i = i + 1
if i%2!= 0: # 非双数时跳过输出
continue
print(i) # 输出双数2、4、6、8、10
#整合if判断语句,使用break
i = 1
while True: # 循环条件为1必定成立
print(i) # 输出1~10
i += 1
if i > 10: # 当i大于10时跳出循环
break
#当然,我们也可以使用while语句来访问DataFrame等数据结构
df = DataFrame({
'age': Series([21, 22, 23]),
'name': Series(['KEN', 'John', 'JIMI'])
});
rowCount = len(df);
i = 0;
while i<rowCount:
print(df.irow(i));
i = i+1;
print("-------------------------")