我正在编写一个读取Excel工作表的Python脚本。
在我的Excel工作表中,我有两列,例如A和B。
如果B列的值大于A列,我想对其进行切换。
示例表:
[A] [B]
1 6
10 2
3 11
想要的输出:
[A] [B]
6 1
10 2
11 3
现在我有了这个,但是它给了我完全不同的值:
s = (~(col['A'] < col['B'])).cumsum().eq(0)
col.loc[s, 'B'] /=2
col.loc[s, 'A'] = col.loc[s, ['A', 'B']].sum(1)
答案 0 :(得分:0)
我假设您正在根据您的语法使用Pandas。使用DataFrame.apply()方法将是一个很好的情况。
import pandas as pd
df = pd.DataFrame({'A': [1, 10, 3], 'B': [6, 2, 11]})
def switch(row):
if row['A'] < row['B']:
row['A'], row['B'] = row['B'], row['A']
return row
df = df.apply(switch, axis=1)
print(df)
给予:
A B
0 6 1
1 10 2
2 11 3