所以我有这个功能:
def get_tag(word):
df1 = pd.DataFrame(0, index=[1], columns=cols)
df2 = df1
df1 = get_freqs(word)
L = df1.loc[1, :].idxmax()
if df1.loc[1, L] > 0:
df2.loc[1, L] = 1
return df2
它返回一个Series,正如我期望的那样:
wf.get_tag("email")
City CompanyName Country ... MiddleName State Street
1 0 0 0 ... 1 0 0
[1 rows x 10 columns]
但是,如果我使用它并将结果分配给另一个系列的值是nan的单元格:
word_df = pd.DataFrame(columns=WORD_FEATS)
...
word_df.loc[0, "TAGS"] = wf.get_tag(word)
通过打印:
for l in list(word_df):
print(l + ": " + str(word_df.loc[0, l]))
我明白了:
TAGS: nan
用于任何输入。
为什么会这样?