Pandas随机指定列名

2024-05-19 10:22:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我从一个xml文件中提取了一些日期和温度值,并想用它们制作一个数据帧。所以在一些循环之后,我定义了变量temperaturedate,并将它们的值附加到循环外的列表(placeholder)。后来我用它们制作了一个数据帧,并在制作数据帧时直接指定了列名。但我重申,每次运行代码时,列名都会随机分配对错。 这是我的密码:

placeholder=[]
for timeserie in timeseries:
    date = re.findall('<entryisIntraday\D*(\d*.\d*.\d*)', timeserie)
    temperature = re.findall('<value>(.*)<\/value>', timeserie)[0]
    placeholder.append([date, temperature])
print(placeholder)
df = pd.DataFrame(placeholder, columns= {"DATE", "TEMP"})
print(df)

运行代码后,有时结果如下:

[['2019-10-29', '4.4'], ['2019-10-30', '3.6'], ['2019-10-31', '2.1'] ...
          TEMP                DATE
0   2019-10-29                 4.4
1   2019-10-30                 3.6
2   2019-10-31                 2.1

有时像这样:

[['2019-10-29', '4.4'], ['2019-10-30', '3.6'], ['2019-10-31', '2.1'], ...
          DATE                TEMP
0   2019-10-29                 4.4
1   2019-10-30                 3.6
2   2019-10-31                 2.1

我在构建数据帧后分配列名时没有遇到这个问题:

df = pd.DataFrame(placeholder)
df=df.rename(columns= {0:"DATE",1:"TEMP"})

我怎样才能解决这个问题?你知道吗


Tags: 数据代码redataframedfdatevaluetemp

热门问题