gpt4 book ai didi

python - 我们可以在 Pandas 数据框中使用通配符吗

转载 作者:太空宇宙 更新时间:2023-11-04 02:22:03 24 4
gpt4 key购买 nike

我有下面的代码,但它在打印数据时抛出一些 UserWarning..

import pandas as pd

pd.set_option('display.height', None)
pd.set_option('display.max_rows', None)
pd.set_option('display.max_columns', None)
pd.set_option('display.width', None)
pd.set_option('expand_frame_repr', True)

data = pd.read_csv('/home/karn/plura/Test/Python_Pnada/Cyber_July.csv', usecols=['Platform ID', 'Safe', 'Target system address', 'Failure reason'])
hostData = data[data['Platform ID'].str.startswith("CS-Unix-")][data['Safe'].str.startswith("CS-NOI-DEFAULT-UNIX-ROOT")] [['Platform ID', 'Safe', 'Target system address','Failure reason']]
hostData.reset_index(level=0, drop=True)
print(hostData)

下面是用户警告..

./CyberCSV.py:12: UserWarning: Boolean Series key will be reindexed to match DataFrame index.
hostData = data[data['Platform ID'].str.startswith("CS-Unix-")][data['Safe'].str.startswith("CS-NOI-DEFAULT-UNIX-ROOT")] [['Platform ID', 'Safe', 'Target system address','Failure reason']]

其次,有没有办法像我一样在数据框中使用通配符

data['Safe'].str.startswith("CDS-NOI-DEFAULT-UNIX-ROOT") 我想在其中使用 data['Safe'].str。 startswith("CDS-*DEFAULT-UNIX-ROOT")

这可能吗?

最佳答案

你可以链startswithendswith面具或使用contains - ^ 用于匹配字符串的开始,.* 用于任何字符串,$ 用于结束:

mask = data['Safe'].str.startswith("CDS") & data['Safe'].str.endswith("DEFAULT-UNIX-ROOT")

或正则表达式:

mask = data['Safe'].str.contains("^CDS-.*DEFAULT-UNIX-ROOT$")

示例:

data = pd.DataFrame({'Safe':['CDS-DEFAULT-UNIX-ROOT',
'CDS-NhjghOI-DEFAULT-UNIX-ROOT',
'CDS-NhjghOI-DEFAULT',
'ACDS-DEFAULT-UNIX-ROOT']})

print (data)
Safe
0 CDS-DEFAULT-UNIX-ROOT
1 CDS-NhjghOI-DEFAULT-UNIX-ROOT
2 CDS-NhjghOI-DEFAULT
3 ACDS-DEFAULT-UNIX-ROOT

mask = data['Safe'].str.contains("^CDS-.*DEFAULT-UNIX-ROOT$")
print (mask)
0 True
1 True
2 False
3 False
Name: Safe, dtype: bool

关于python - 我们可以在 Pandas 数据框中使用通配符吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51357562/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com