admin

如何过滤掉列中的每个条目,如果每个条目都是一个列表,PANDAS

pandas

如何过滤掉列中的每个条目,如果每个条目都是一个列表,PANDAS


阅读 121

收藏
2023-05-19

共1个答案

admin

要过滤掉Pandas列中的每个条目,如果每个条目都是一个列表,可以使用Pandas的apply函数结合lambda表达式来实现。

下面是一个示例代码,演示如何过滤掉每个条目都是列表的列:

import pandas as pd

# 创建一个示例DataFrame
data = {'Column1': [[1, 2, 3], [4, 5, 6], [7, 8, 9]],
        'Column2': [[10, 11], [12, 13], [14, 15]],
        'Column3': [1, 2, 3]}
df = pd.DataFrame(data)

# 过滤每个条目都是列表的列
filtered_df = df.apply(lambda x: [item for item in x if not isinstance(item, list)] if x.dtype == object else x)

print(filtered_df)

输出结果将是过滤后的DataFrame,其中每个条目都不再是列表。

请注意,上述代码使用了apply函数以及一个lambda表达式来遍历每个列并过滤掉每个条目都是列表的情况。在lambda表达式中,我们使用了列表推导式来创建一个新的列表,其中包含非列表的条目。对于非对象类型的列(例如整数列),我们直接保留原始值。

2023-05-19