如何根据数据框中的某些模式获取列列表
我的数据框中有以下列,我想获得两个列列表,如下所示。
我尝试了以下代码,并且能够获取所需的销售列列表,即包括Inv1.1销售,Inv1.2销售,Inv1.3销售和Inv1.4销售的Col_sales,
但是对于Col_num,我获得了一个额外的列这是Inv1_num。排除它的方法是什么?我只需要INV1_1_NUM,INV1_2_NUM,INV1_3_NUM和INV1_4_NUM。
在我的真实数据集中,我有50列以上,它们都遵循相同的模式,并且这些列名称无法更改,因为它们将在下游过程中使用。任何建议都会大大提出。
import pandas as pd
df = {'inv1.1 sales':[1],
'inv1.2 sales':[2],
'inv1.3 sales':[3],
'inv1.4 sales':[1],
'inv1 sales':[2],
'inv2 sales':[3],
'inv3 sales':[3],
'inv1_1_num':[4],
'inv1_2_num':[3],
'inv1_3_num':[1],
'inv1_4_num':[3],
'inv1_num':[6],
'inv2_num':[2],
'inv3_num':[3]}
df=pd.DataFrame(df)
col_sales = [x for x in df.columns if ('inv1.' in x) & ('sales' in x)]
col_sales
col_num = [x for x in df.columns if ('inv1_' in x) & ('num' in x)]
col_num
['inv1_1_num', 'inv1_2_num', 'inv1_3_num', 'inv1_4_num', 'inv1_num']
I have below columns in my dataframe, I want to get two list of columns as green highlighted below.
I tried the following codes and am able to get the desired list of sales columns which is col_sales that includes inv1.1 sales, inv1.2 sales, inv1.3 sales and inv1.4 sales
However, for col_num, I get an additional column which is inv1_num. What would be a way to exclude it? I only need inv1_1_num, inv1_2_num, inv1_3_num and inv1_4_num.
Be noted in my real dataset, I have more than 50 columns and they all follow the same pattern and these columns names cannot be changed as they will be used in the downstream process. Any suggestions are greatly apperciated.
import pandas as pd
df = {'inv1.1 sales':[1],
'inv1.2 sales':[2],
'inv1.3 sales':[3],
'inv1.4 sales':[1],
'inv1 sales':[2],
'inv2 sales':[3],
'inv3 sales':[3],
'inv1_1_num':[4],
'inv1_2_num':[3],
'inv1_3_num':[1],
'inv1_4_num':[3],
'inv1_num':[6],
'inv2_num':[2],
'inv3_num':[3]}
df=pd.DataFrame(df)
col_sales = [x for x in df.columns if ('inv1.' in x) & ('sales' in x)]
col_sales
col_num = [x for x in df.columns if ('inv1_' in x) & ('num' in x)]
col_num
['inv1_1_num', 'inv1_2_num', 'inv1_3_num', 'inv1_4_num', 'inv1_num']
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
添加
count
Adding
count