简体   繁体   English

在 python 中搜索 pandas 数据框以查找关键字

[英]search pandas dataframe for keywords in python

im trying to search through a csv file for keywords but right now I cant even find one string here is what I'm doing any solutions I converted the csv to a pandas dataframe I would like to add a id=ndication to the dataframe like a check or running count我试图在 csv 文件中搜索关键字,但现在我什至找不到一个字符串,这就是我正在做的任何解决方案我将 csv 转换为 pandas 数据帧我想向数据帧添加一个 id=ndication 就像一个检查或运行计数

  import pandas as pd
import numpy as np


df = pd.read_csv('InventoryValue-byItem-6-25-22.csv')

df.apply(lambda columns: columns.astype(str).str.contains("VODKA").any(), axis=1)

df.to_csv('file_name.csv', index=False)

it depends if you want to filter only in one column:这取决于您是否只想在一列中过滤:

import pandas as pd

data={'number':np.random.uniform(0,20,size=5),'text1':["test VODKA","test","Nothing","Something","VODKA Orange"], 'text2':["no","VODKA sprite","yes","yes","no"] }
df=pd.DataFrame(data)

#If you are only looking in one column:
#cast the column as string...
df['text1'].astype(str)
print(df[df['text1'].astype(str).str.contains("VODKA",case=False)])

Result:结果:

      number         text1 text2
0  17.505103    test VODKA    no
4  17.585175  VODKA Orange    no

Or in all columns:或在所有列中:

import pandas as pd

data={'number':np.random.uniform(0,20,size=5),'text1':["test VODKA","test","Nothing","Something","VODKA Orange"], 'text2':["no","VODKA sprite","yes","yes","VODKA Orange"] }
df=pd.DataFrame(data)


#to look in all columns
dfFinal=pd.DataFrame()
for column in df.columns:
    dfTemp=df[df[column].astype(str).str.contains("VODKA",case=False)]
    dfFinal=dfFinal.append(dfTemp)

dfFinal.drop_duplicates(inplace=True)
print(dfFinal)

Result:结果:

      number         text1         text2
0   4.690792    test VODKA            no
4   8.835689  VODKA Orange  VODKA Orange
1  17.707329          test  VODKA sprite

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM