场景:我从一个N-triples文件中检索了3个列表,现在我正在尝试将它们组合成一个单一的、有组织的列表。你知道吗
原始格式:
+--------+---------+--------+
| 100021 | hasdata | y |
+--------+---------+--------+
| 100021 | name | USER1 |
+--------+---------+--------+
| 100021 | extra1 | typer |
+--------+---------+--------+
| 100021 | extra2 | reader |
+--------+---------+--------+
| 50003 | hasdata | y |
+--------+---------+--------+
| 50003 | name | USER2 |
+--------+---------+--------+
| 50003 | extra1 | reader |
+--------+---------+--------+
| 50003 | extra2 | writer |
+--------+---------+--------+
| 50003 | extra3 | coder |
+--------+---------+--------+
| 30007 | hasdata | n |
+--------+---------+--------+
| 30007 | name | 0001 |
+--------+---------+--------+
| 30007 | extra1 | Null |
+--------+---------+--------+
在循环ntriples文件时,我生成了3个列表(每个列表都是上表的一列)。我现在试着把它们组合成这样:
+--------+---------+-------+--------+--------+--------+
| | hasdata | name | extra1 | extra2 | extra3 |
+--------+---------+-------+--------+--------+--------+
| 100021 | y | USER1 | typer | reader | |
+--------+---------+-------+--------+--------+--------+
| 50003 | y | USER2 | reader | writer | coder |
+--------+---------+-------+--------+--------+--------+
| 30007 | extra2 | n | 0001 | Null | |
+--------+---------+-------+--------+--------+--------+
到目前为止,我使用了以下函数:
def listOfTuples(l1, l2, l3):
return list(map(lambda x, y, z:(x,y, z), l1, l2, l3))
但这只给了我一个直接合并相应的项目。你知道吗
问题:我知道可以在列表中循环,获取匹配项并手动构建数组/数据帧。我的问题是,有没有任何函数或包可以自动地以一种不那么复杂的方式来实现这一点?你知道吗
Obs:我已经有了一种通过手动循环生成数据帧的方法。我只是想知道还有没有更有效的方法。你知道吗
如果我理解正确的话,您有一个列表,其中包含大小为三个对象的元组元素,您希望将它们放入另一个元组中,您可以使用
zip
来实现这一点。你知道吗你说你想要一个数据帧,所以我假设熊猫操作是可以接受的。你知道吗
我还假设符号只是格式化的,而不是实际数据文件的一部分(在将来,这种修饰符是不必要的,甚至对这类问题有害)
使用给定的数据,我创建一个df(
pd.read_csv
或类似的),然后对其进行透视相关问题 更多 >
编程相关推荐