我正在尝试将许多txt文件读入数据框,并且此代码在下面起作用。但是,它复制了我的一些列,而不是全部。我找不到解决方案。我该怎么做才能避免这种情况?
import pandas as pd
import glob
dfs = pd.DataFrame(pd.concat(map(functools.partial(pd.read_csv, sep='\t', low_memory=False),
glob.glob(r'/folder/*.txt')), sort=False))
假设我的数据应如下所示:
但是看起来像这样: enter image description here
我不希望重复我的专栏。
答案 0 :(得分:0)
您能给我们更多信息吗? import spacy
nlp = spacy.load('en_core_web_lg')
def most_similar(word, topn=5):
word = nlp.vocab[str(word)]
queries = [w for w in word.vocab if w.is_lower == word.is_lower and w.prob >= -15]
by_similarity = sorted(queries, key=lambda w: word.similarity(w), reverse=True)
return [(w.lower_,w.similarity(word)) for w in by_similarity[:topn+1] if w.lower_ != word.lower_]
most_similar("dog", topn=3)
的输出尤其有用。我怀疑您的列名中可能会有一些多余的空格,这会导致熊猫之间的空格不同。
您也可以尝试一下:
dfs.columns
有点简单,应该给出相同的结果
答案 1 :(得分:0)
重要的是,考虑合并过程有两个可能的结果。通过选择轴,可以添加新列,如下面的示例(I)或示例(II)中所示的新行。 pd.concat
可以通过将轴设置为0(行)或1(列)来执行此操作。
在出色的文档中了解更多信息:concat
示例I:
import pandas as pd
import glob
pd.concat([pd.read_csv(f) for f in glob.glob(r'/folder/*.txt')], axis=1)
示例II:
pd.concat([pd.read_csv(f) for f in glob.glob(r'/folder/*.txt')], axis=0)