return是nan而不是Dataframe

时间:2018-10-23 09:33:31

标签: python pandas nan

所以我有这个功能:

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

用于任何输入。

为什么会这样?

0 个答案:

没有答案