Python在执行While循环
我在数据帧和while循环方面遇到一些问题:Python在执行While循环,python,pandas,Python,Pandas,我在数据帧和while循环方面遇到一些问题: A B 5 10 5 10 10 5 我正在尝试建立一个while循环: while (Column A < Column B): Column A = Column A + (Column B / 2) Column B = Column B / 2 while(A列
A B
5 10
5 10
10 5
我正在尝试建立一个while循环:
while (Column A < Column B):
Column A = Column A + (Column B / 2)
Column B = Column B / 2
while(A列
有什么办法吗。试试下面的方法。下次试着解决它,而不是直接问它。你会学到更多:)谢谢
将熊猫作为pd导入
d={'A':[5,5,10],'B':[10,10,5]}
df=pd.DataFrame(数据=d)
df
出[]:
A B
0 5 10
1 5 10
2 10 5
行=df.shape[0]
i=0
当i
您可以将此计算矢量化以避免显式循环:
mask = df['A'] < df['B']
df.loc[mask, 'A'] = df['A'] + df['B'] / 2
df.loc[mask, 'B'] = df['B'] / 2
print(df)
# A B
# 0 10.0 5.0
# 1 10.0 5.0
# 2 10.0 5.0
mask=df['A']
首先尝试编写一些代码来解决这个问题,然后将代码发布到这里,以便我们对其进行评论,这将是一个好主意。当您在发布时,预期的答案是:)
mask = df['A'] < df['B']
df.loc[mask, 'A'] = df['A'] + df['B'] / 2
df.loc[mask, 'B'] = df['B'] / 2
print(df)
# A B
# 0 10.0 5.0
# 1 10.0 5.0
# 2 10.0 5.0