如何在for循环中创建名称相似的多个变量?

2024-05-29 05:07:09 发布

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

早些时候我遇到了for循环的问题,多亏了@mak4515,它才得以解决。不过,我还想做些别的事情

# Use pandas to read in csv file
data_df_0 = pd.read_csv('puget_sound_ctd.csv')
#create data subsets based on specific buoy coordinates
data_df_1 = pd.read_csv('puget_sound_ctd.csv', skiprows=range(9,114))
data_df_2 = pd.read_csv('puget_sound_ctd.csv', skiprows=([i for i in range(1, 8)] + [j for j in range(21, 114)]))
for x in range(0,2):
    for df in [data_df_0, data_df_2]:
        lon_(x) = df['longitude']
        lat_(x) = df['latitude']

这是我当前的代码,我想让它读取不同的数据集,并根据它正在读取的数据集创建不同的值。然而,当我以这种方式运行代码时,我得到了这个错误

  File "<ipython-input-66-446aebc48604>", line 21
    lon_(x) = df['longitude']
    ^
SyntaxError: can't assign to function call

“不能分配给函数调用”是什么意思?我该如何解决这个问题


Tags: csvtoindfforreaddatarange
1条回答
网友
1楼 · 发布于 2024-05-29 05:07:09

我认为@Chris的评论可能是一个很好的方式。我想指出的是,由于您已经在使用pandas数据帧,一种更简单的方法可能是创建一个与原始数据帧对应的列,然后将它们连接起来

import pandas as pd
data_df_0 = pd.DataFrame({'longitude':range(-125,-120,1),'latitude':range(45,50,1)})
data_df_0['dfi'] = 0
data_df_2 = pd.DataFrame({'longitude':range(-120,-125,-1),'latitude':range(50,45,-1),'dfi':[2]*5})
data_df_2['dfi'] = 2

df = pd.concat([data_df_0,data_df_2])

然后,您可以访问原始帧中的数据,如下所示:

df.loc[2]

相关问题 更多 >

    热门问题