如何在python3中扩展两个excel单元格之间的范围并将结果添加到新列中?

2024-04-20 00:17:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用Python3.4来比较列。
我有两列ab

  • If A=BC列中打印A。你知道吗
  • 如果B > A,则打印AB之间的所有数字,包括C列中的AB

随后的比较行将在上一个测试结果之后的C列中打印。你知道吗

感谢您的帮助。我的问题措辞必须是关闭的,因为我相信这已经做过,但我只是找不到它在这里或其他地方。你知道吗


Tags: if地方数字行将措辞
1条回答
网友
1楼 · 发布于 2024-04-20 00:17:18

正如brittenb注意到的,尝试在pandas中应用函数。你知道吗

import pandas as pd
df = pd.read_excel("somefile.xlsx")
df['c'] = df.apply(lambda r: list(range(r['a'], r['b']+1)), axis=1)

更新

如果要添加行,用pandas编写可能会变得复杂。如果您不太关心速度和内存,那么经典的python风格似乎更容易理解。你知道吗

ary = []
for i,r in df.iterrows():
  for j in range(r['a'], r['b']+1):
    ary.append( (r['a'], r['b'], j) )
df = pd.DataFrame(ary, columns = ['a','b','c'])

相关问题 更多 >