2 回答
TA贡献1799条经验 获得超9个赞
您可以合并列上的两个数据框station_id,然后像这样创建列表列表:
merged_df = pd.merge(df, df1, left_on = 'station_id', right_on = 'station_id')
list_of_lists =[]
# Iterate over each row
for index, row in merged_df.iterrows():
# Create list for the current row
rowlist =[row.latitude, row.longitude, row.flow, row.hour, row.month, row.day]
# append the list to the final list
list_of_lists.append(rowlist)
您可以使用该模块从列datetime中提取月、日、小时Date
pd.merge有关更多信息,请参阅 pandas 文档: https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.merge.html
TA贡献1828条经验 获得超3个赞
在给定的代码中,您试图将 print 函数的返回值分配给a,然后将其添加到b. a在这里,的值为null。因此,当您尝试打印该值时,您将得到空字符串。
我已经进行了更正以使其有效。希望能帮助到你..
while i < count:
if df['station_id'][i] == df1['station_id'][i]:
a = [df1['latitude'][i],df1['longitude'][i], df['flow'][i], df['time'][i].hour,df['time'][i].month,df['time'][i].day]
b.append(a)
i += 1
print(b)
添加回答
举报