【发布时间】:2021-08-27 20:17:38
【问题描述】:
| Col1 | Col2 | ListOfQs |
|---|---|---|
| First | Third | ['abc', 'def', 'ghi'] |
| Second | Fourth | ['row', 'col'] |
如果 df['ListOfQs'] 中的列表长度 > 2,我想在 DataFrame 中创建一个新列,该列包含 Col2 中的值,如果不是,则包含 Col1 中的值。
我可以通过以下方式获取列表的长度:
df['lenList'] = df['ListOfQs'].str.len()
但是 df['lenList'] 的类型是一个系列,它不会让我把它当作一个数字来对待。
我试过了:
df['lenList'] = pd.to_numeric(df['lenList'])
但type(df['lenList']) 仍然是一个系列。
如果我得到它是数字,我可以在 for 循环中使用它。我在想有人可能知道如何使用 lambda 一步完成。我会尽我所能提供帮助。
【问题讨论】:
标签: python list dataframe lambda