我有一个Pandas Dataframe words_df
,其中包含一些英语单词。
它只有一列名为word
包含英语单词。
words_df.tail()
:
words_df.dtypes
:
我想过滤出包含单词zythum的行
使用熊猫系列str.match()
可以给我预期的输出:
words_df[words_df.word.str.match('zythum')]
:
我知道str.match()
这不是正确的方法,它还会返回包含诸如zythums之类的其他单词的行。
但是,对Pandas Dataframe使用以下操作会返回一个空的Dataframe
words_df[words_df['word'] == 'zythum']
:
我想知道为什么会这样吗?
编辑1:我还将附加我的数据源和用于导入它的代码。
数据源(我使用了“ csv.zip中的单词列表”):
https://www.bragitoff.com/2016/03/english-dictionary-in-csv-format/
数据框导入代码:
import pandas as pd
import glob as glob
import os as os
import csv
path = r'data/words/' # use your path
all_files = glob.glob(path + "*.csv")
li = []
for filename in all_files:
df = pd.read_csv(filename, index_col=None, header=None, names = ['word'], engine='python', quoting=csv.QUOTE_NONE)
li.append(df)
words_df = pd.concat(li, axis=0, ignore_index=True)
编辑2:
IIUC:df1[df1['word'] == 'zythum']
不起作用。
尝试删除数据框中字符串周围的空格:
df1[df1['word'].str.strip() == 'zythum']
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句