DemoZ2326 2020-03-24 15:02 采纳率: 100%

# 关于pandas,python,循环问题？

``````import pandas as pd
import numpy as np

np.random.seed(20200324)
num = np.random.rand(400).round(2)
data = np.array(num).reshape(100, 4)
df = pd.DataFrame(data, columns=list('ABCD'))

temp_i = 0
for i in range(temp_i, df.shape[0]):
if df.at[i, 'A'] > df.at[i, 'D']:
df.at[i, 'Signal'] = 'num_up'
for i2 in range(i+1, df.shape[0]):
if df.at[i2, 'A'] < df.at[i2, 'D'] * 0.5:
df.at[i2, 'Signal_2'] = 'num_down'
temp_i = i2
break
break

print df
``````

``````import pandas as pd
import numpy as np

np.random.seed(20200324)
num = np.random.rand(400).round(2)
data = np.array(num).reshape(100, 4)
df = pd.DataFrame(data, columns=list('ABCD'))

temp_i = 0
for i in range(temp_i, df.shape[0]):
if df.at[i, 'A'] > df.at[i, 'D']:
df.at[i, 'Signal'] = 'num_up'
for i2 in range(i+1, df.shape[0]):
if df.at[i2, 'A'] < df.at[i2, 'D'] * 0.5:
df.at[i2, 'Signal_2'] = 'num_down'
temp_i = i2
break
break

for i in range(temp_i, df.shape[0]):
if df.at[i, 'A'] > df.at[i, 'D']:
df.at[i, 'Signal'] = 'num_up'
for i2 in range(i+1, df.shape[0]):
if df.at[i2, 'A'] < df.at[i2, 'D'] * 0.5:
df.at[i2, 'Signal_2'] = 'num_down'
temp_i = i2
break
break

for i in range(temp_i, df.shape[0]):
if df.at[i, 'A'] > df.at[i, 'D']:
df.at[i, 'Signal'] = 'num_up'
for i2 in range(i+1, df.shape[0]):
if df.at[i2, 'A'] < df.at[i2, 'D'] * 0.5:
df.at[i2, 'Signal_2'] = 'num_down'
temp_i = i2
break
break

print df
``````
• 写回答

#### 1条回答默认 最新

• 陈年椰子 2020-03-24 15:39
关注

按这个形式写， 应该能达到你的要求

``````check_flag = 'A'
for i in range(数据总量)
if check_flag == 'A':
if 满足条件A:
check_flag = 'B'
print('FIND A index', i )
#你要做的操作
else:
if 满足条件B:
check_flag = 'A'
print('FIND B index', i )
#你要做的操作

``````
本回答被题主选为最佳回答 , 对您是否有帮助呢?
评论

#### 悬赏问题

• ¥35 用python实现除法算法中goldschmidt算法
• ¥15 汇编代码转换成C代码
• ¥15 除法算法中的归一化具体是怎么变的？
• ¥20 集成电路的逻辑电路和晶体管简化图
• ¥15 下载windows builder后的问题
• ¥15 按要求对程序的逻辑进行更正
• ¥50 悬赏帮写C++编程 诚信
• ¥15 端口连接数为什么会有限制
• ¥15 安卓数据提交之后格式不对
• ¥15 需要数据库运行的图片