Select 行使用 pandas 单元格中列表的长度
Select row using the length of list in pandas cell
我有一个 table df
a b c
1 x y [x]
2 x z [c,d]
3 x t [e,f,g]
只是想知道如何 select 使用 c 列的长度的行
比如
df.loc[len(df.c) >1]
我知道这是不对的....正确的应该是什么?
您可以使用
df.loc[np.array(list(map(len,df.c.values)))>1]
试试这个:
df[df.c.map(len)>1]
申请:
df[df.c.apply(lambda x: len(x) > 1)]
您还可以创建第四列,其中包含“c”列中每个列表的长度。然后筛选出新列中的条目大于 1 的行。
df["length"] = df["c"].apply(lambda x: len(x) > 1)
df = df.loc[df["length"], :].drop(["length"], axis=1)
我有一个 table df
a b c
1 x y [x]
2 x z [c,d]
3 x t [e,f,g]
只是想知道如何 select 使用 c 列的长度的行
比如
df.loc[len(df.c) >1]
我知道这是不对的....正确的应该是什么?
您可以使用
df.loc[np.array(list(map(len,df.c.values)))>1]
试试这个:
df[df.c.map(len)>1]
申请:
df[df.c.apply(lambda x: len(x) > 1)]
您还可以创建第四列,其中包含“c”列中每个列表的长度。然后筛选出新列中的条目大于 1 的行。
df["length"] = df["c"].apply(lambda x: len(x) > 1)
df = df.loc[df["length"], :].drop(["length"], axis=1)