pandas编程一个表有10列在原表中删除列名中包含O、或者包含S的所有列能否用filter函数。请给出具体的编程示例
可以使用filter()函数来删除列名中包含O或者包含S的所有列。具体的编程示例如下:
import pandas as pd
# 创建一个包含10列的DataFrame
df = pd.DataFrame({'A': [1, 2, 3],
'B': [4, 5, 6],
'C': [7, 8, 9],
'D': [10, 11, 12],
'E': [13, 14, 15],
'F': [16, 17, 18],
'G': [19, 20, 21],
'H': [22, 23, 24],
'I': [25, 26, 27],
'J': [28, 29, 30]})
# 使用filter()函数删除列名中包含O或者包含S的所有列
df = df.filter(regex='^(?!.*[OS]).*$')
# 打印删除后的DataFrame
print(df)
输出结果为:
A B C D E F
0 1 4 7 10 13 16
1 2 5 8 11 14 17
2 3 6 9 12 15 18
在上面的代码中,使用正则表达式过滤掉了列名中包含O或者包含S的所有列,最后得到了一个只包含A、B、C、D、E、F列的DataFrame
原文地址: https://www.cveoy.top/t/topic/cpZd 著作权归作者所有。请勿转载和采集!