如何过滤掉列中的每个条目,如果每个条目都是一个列表,PANDAS
要过滤掉Pandas列中的每个条目,如果每个条目都是一个列表,可以使用Pandas的apply函数结合lambda表达式来实现。
apply
下面是一个示例代码,演示如何过滤掉每个条目都是列表的列:
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表达式中,我们使用了列表推导式来创建一个新的列表,其中包含非列表的条目。对于非对象类型的列(例如整数列),我们直接保留原始值。