Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 要针对不同的限制为同一数据集创建for循环吗_Python_Pandas - Fatal编程技术网

Python 要针对不同的限制为同一数据集创建for循环吗

Python 要针对不同的限制为同一数据集创建for循环吗,python,pandas,Python,Pandas,我有一个数据集,限制数据集读取的行: # Use pandas to read in csv file data_df_0 = pd.read_csv('data_set.csv') #create data subsets based on specific buoy coordinates data_df_1 = pd.read_csv('data_set.csv', skiprows=range(9,114)) data_df_2 = pd.read_csv('data_set.csv',

我有一个数据集,限制数据集读取的行:

# Use pandas to read in csv file
data_df_0 = pd.read_csv('data_set.csv')
#create data subsets based on specific buoy coordinates
data_df_1 = pd.read_csv('data_set.csv', skiprows=range(9,114))
data_df_2 = pd.read_csv('data_set.csv', skiprows=([i for i in range(1, 8)] + [j for j in range(21, 114)]))
现在,我想写一个for循环来根据不同的数据集分配不同的值,我目前的代码尝试是

# Assign variables according to header line (i.e., first row)
for x in range (0,2):
    lon_x = data_df_x['longitude']
    lat_x = data_df_x['latitude']
这给了我错误

---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-59-3f7a5140aca4> in <module>
     18 # Assign variables according to header line (i.e., first row)
     19 for x in range (0,2):
---> 20     lon_x = data_df_x['longitude']
     21     lat_x = data_df_x['latitude']
     22 #     w_temp_x = data_df_x['temp (c)']

NameError: name 'data_df_x' is not defined
---------------------------------------------------------------------------
NameError回溯(最近一次呼叫上次)
在里面
18#根据标题行(即第一行)分配变量
19表示范围(0,2)内的x:
--->20 lon_x=数据_df_x[‘经度’]
21纬度x=数据纬度x[“纬度”]
22#w#u temp_x=数据_df_x[‘温度(c)’]
NameError:未定义名称“data_df_x”

我哪里出错了?我需要做些什么来解决这个问题?

您的问题是Python将“data_df_x”解释为一个单独的变量,而不是您希望的“data_df_0”和“data_df_1”

相反,您可以遍历数据帧本身:

longitudes = []
latitudes = []

for df in [data_df_0, data_df_1]:
      lon_x = df['longitude']
      lat_x = df['latitude']

      longitudes.append(lon_x)
      latitudes.append(lat_x)
如果需要跟踪数据帧“编号”,则可以执行以下操作:

longitudes = {}
latitudes = {}

for i, df in enumerate([data_df_0, data_df_1]):
    lon_x = df['longitude']
    lat_x = df['latitude']

    longitudes[i] = lon_x
    latitudes[i] = lat_x

请分享一个你的数据集样本,以及预期的输出。这是否也会产生lon_0、lon_1等?或者我也需要做一个不同的for循环吗?不会的。但是,我已经编辑了我的原始答案,以显示您可能如何“保存”此信息以供以后访问