我正在用excel输入制作一个测试团队报告;使用pandas收集、过滤、处理数据。你知道吗
我做了下面的代码来制作产品测试用例封面表,以便以后使用/方便搜索。第3列是测试用例的类型。我在一个excel中有多个测试用例,所以我需要遍历所有的单元格和拆分测试,以生成成对的产品测试用例。你知道吗
因为我对熊猫不太熟悉,而且我在其他地方也没有找到更好的方法,我想问一下,是否有更多的Python方法或者更简单的熊猫方法来做同样的事情,更有效。你知道吗
带有示例数据的代码(\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
谢谢你的建议。你知道吗
用途:
DataFrame
by ^{expand=True
的多个列,并按^{Multiindex
列Multiindex
to columns带着理解力
解释
在
df.stack().items()
上迭代时,我们得到的元组的第一个元素是index value,第二个元素是value。因为我们叠加,索引值本身就是一个元组。第一对看起来像:通过对
'001_002\n001_004'.split()
的后续迭代并重新排列未打包的元素,我们得到然后将其包装在
pd.DataFrame
构造函数中,在其中命名列。你知道吗使用
df.applymap
、df.melt
和df.stack
相关问题 更多 >
编程相关推荐