解析熊猫表

时间:2019-02-27 14:56:12

标签: python pandas

我的熊猫桌出现了一个(可能是愚蠢的)问题。假设我有一张桌子,其中有一个名为“ lett”的列,其中每一行都包含一个字母,还有一个名为“ num”的列,其中带有数字。我还有以下2个列表

letter=["A", "B", "C"]

number=[[1, 2], [3, 4], [5, 6]]

现在,我想提取所有在字母列中带有A且在数字列中带有1或2,B带有3或4以及C带有5或6的行。

我的想法是运行

table['num'].isin(number[letter.index(table['lett'])])

但出现以下问题: ValueError:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。(也许是因为 table ['lett'] 确实不是引用特定行,而是引用“ lett”列中包含的所有可能值?)。 我应该做些什么?预先感谢

1 个答案:

答案 0 :(得分:2)

首先将您的两个list放在list的{​​{1}}中,然后再将您的tuple的数字和字母也写到columns,那么我们可以使用tuple

isin

或使用tup=[(x,z)for x , y in zip(letter,number) for z in y ] yourdf=df[df[['letter','Number']].apply(tuple,axis = 1).isin(tup)]

merge