为什么附加数据框而不创建空数据框时会得到双精度值?

问题描述 投票:0回答:1
txtfile=open('university_towns.txt','r')
df=pd.DataFrame(columns=('State','Region'))
state=''
for i in txtfile:
    if '[edit]' in i:
        i=i[:i.find('[')].strip()
        state=i
        continue
    region=i.strip()
    if '(' in region:
        k=region.find('(')
        region=region[:(k-1)]
    df = df.append(pd.DataFrame([[state, region]]), ignore_index=True)
print(df)

在此代码中,如果我已经创建了一个空数据框,其列名称为State and Region。现在,当我尝试将值state和region附加到数据框中时,它显示了两个额外的列,分别名为State和Region和Nan值。以及另外两列分别为0和1的状态和状态的实际值。

python string pandas dataframe append
1个回答
0
投票

您可以创建一个称为状态和区域的列表,并将所有数据附加到这些列表。然后使用通过解析文本文件获得的数据创建数据框

df=pd.DataFrame([state,region], columns=('State','Region'))

或通过调用将列表分配给列

df.loc[:,'State'] = state
df.loc[:,'Region'] = region
© www.soinside.com 2019 - 2024. All rights reserved.