从DataFrame中删除其名称包含特定字符串的第一列(或任意第n列)

2024-09-28 22:29:13 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个熊猫数据框,如下所示:

df = pd.DataFrame([[1,2,3,4,5],[6,7,8,9,10]],columns=['a1693','b1124','b113','a2609', 'a1'])

我想删除,例如,b1124。我该怎么做

我可以使用下面的代码将列作为pd.Series

df.loc[:,df.columns.str.contains('b')].iloc[:,0]

但是我不知道如何从df中删除它

另外,如果我想对多个列执行相同的操作,即删除a1693b1124,我该如何做呢


Tags: columns数据代码dataframedfa1locseries
2条回答

添加过滤器

df = df.drop(df.columns[df.columns.str.contains('b')][0],1)
   a1693  b113  a2609  a1
0      1     3      4   5
1      6     8      9  10
In [28]: N = 0

In [29]: df.drop(df.columns[np.where(df.columns.str.contains("b")==True)[0][N]], axis=1)
Out[29]:
   a1693  b113  a2609  a1
0      1     3      4   5
1      6     8      9  10

In [30]: N = 1

In [31]: df.drop(df.columns[np.where(df.columns.str.contains("b")==True)[0][N]], axis=1)
Out[31]:
   a1693  b1124  a2609  a1
0      1      2      4   5
1      6      7      9  10

相关问题 更多 >