很抱歉以前是否曾提出过类似的要求。
我有一个任务,需要一个提供unix次数列表和pandas df的函数。
pandas df的unix时间列,纬度列和经度列。
我需要从df中提取纬度,其中df Unix时间与我传递给函数的列表中的Unix时间相匹配。
到目前为止,我有:
`def nl_lat_array(pandas_df,unixtime_list):
lat = dict()
data = pandas_df
for x, row in data.iterrows():
if data[data['DateTime_Unix']] == i in unixtime_list:
lat[i] = data[data['Latitude']]
v=list(lat.values())
nl_lat_array = np.array(v)
return nl_lat_array
这将导致以下错误:
KeyError:“ [Float64Index([1585403852.468,1585403852.518,1585403852.568,1585403852.618,\ n 1585403852.668,1585403852.718,1585403852.768,1585403852.818,\ n 1585403852.868,1585403852.918,\ n。\ n ... \ n ,\ n 1585508348.724、1585508348.774、1585508348.824、1585508348.874,\ n 1585508348.924、1585508348.974],\ n dtype ='float64',长度= 2089945)]在[列]中]“
但是pandas数组中的这些值确实存在于我要传递的列表中。
任何帮助将不胜感激。
答案 0 :(得分:0)
您可以执行以下操作。
[[1]]
[1] "observation_date" "TERMCBAUTO48NS"
[3] "BAA10YM" "AAA10YM"
[5] "TB3SMFFM" "T5YFFM"
[7] "T10Y2YM" "BAA"
[9] "AAA" "TERMCBCCALLNS"
[11] "MPRIME" "TWEXBMTH"
[13] "M1SL" "M2SL"
[15] "RMFSL" "SVSTCBSL"
[17] "BORROW" "SEABORR"
[19] "GDBFRM" "DDDFCBNS"
[21] "TSDFBOI" "REQRESNS"
[23] "DPCERA3M086SBEA" "PSAVERT"
[25] "DTTHFM" "DTRTM"
[27] "IPMAN" "IPCONGD"
[29] "CPIAUCSL" "CPIHOSSL"
[31] "CSUSHPINSA" "FEDFUNDS"
[33] "UNRATE" "INDPRO"
[35] "RECPROUSM156N" "HOUST"
[37] "SPASTT01USM661N" "CP"
答案 1 :(得分:0)
import pandas as pd
data = pd.DataFrame([[1,4,7],[2,5,8],[3,6,9]])
data.columns = ['time', 'lat', 'long']
time_list = [1,2]
d = data[data['time'].isin(time_list)]['lat'].values
# [4, 5]