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循环吗?不会的。但是,我已经编辑了我的原始答案,以显示您可能如何“保存”此信息以供以后访问