我有以下Pandas数据框:
我正在尝试写一些条件python语句,其中如果我们有10
的issue_status
或40
AND market_phase
的0
AND ``的tade_state
(这是我们在上面截图中所有情况下都有的),那么我想调用一个名为resolve_collision_mp(...)
的函数。
我可以用Python编写如下条件吗?
# Collision for issue_status == 10
if market_info_df['issue_status'].eq('10').all() and market_info_df['market_phase'].eq('0').all() \
and market_info_df['trading_state'] == ' ': # need to change this, can't have equality for dataframe, need loc[...]
return resolve_collision_mp_10(market_info_df)
# Collision for issue_status == 40
if market_info_df['issue_status'].eq('40').all() and market_info_df['market_phase'].eq('0').all() \
and not market_info_df['trading_state']:
return resolve_collision_mp_40(market_info_df)
我不认为以上是正确的,任何帮助将不胜感激!
1条答案
按热度按时间wooyq4lh1#
您可以使用
.apply()
与相关条件、注意:我假设您尝试使用
resolve_collision_mp_10
和resolve_collision_mp_40
函数的返回值创建一个新列。