【发布时间】:2018-02-21 23:51:37
【问题描述】:
我正在使用 Excel 输入制作测试团队报告;使用 pandas 收集、过滤、处理数据。
我制作了以下代码来制作产品测试用例封面表以供以后使用/轻松搜索。第三列是测试用例的类型。我在一个 excel 中有多个测试用例,所以我需要遍历所有单元格并拆分测试以制作成对的产品 - 测试用例。
因为我对 pandas 不太熟悉,而且我在其他地方也没有找到更好的方法,所以我想问一下是否有更多的 pythonic 方式或更简单的 pandas 方式来做同样的事情和更高效。
带有示例数据的代码(\n 是 excel 单元格内的换行符):
df = pd.DataFrame({"prod":["TS001","TS002"],
"activate":["001_002\n001_004", "003_008\n024_080"],
"deactivate":["004_005\n006_008", "001_008"]})
df = df.set_index("prod")
list_of_tuples = []
for i, row in df.iterrows():
for cell in row.iteritems():
for test in cell[-1].splitlines():
list_of_tuples.append((i, test, cell[0])) # [(product, test, category)..]
return_df = pd.DataFrame(list_of_tuples, columns=('prod', 'testcase', 'category'))
制作:
prod testcase category
0 TS001 001_002 activate
1 TS001 001_004 activate
2 TS001 004_005 deactivate
3 TS001 006_008 deactivate
4 TS002 003_008 activate
5 TS002 024_080 activate
6 TS002 001_008 deactivate
感谢您的任何建议。
【问题讨论】:
标签: python pandas dataframe iteration