如何找到对应的python值

如何找到对应的python值,python,pandas,csv,Python,Pandas,Csv,因此,我的值如下所示(在csv文件中): 19010101是日期,1901年1月1日 而-31将是最高或最低温度 我需要找到最高和最低温度的日期 我试过了 data["DATE"][data["TX"].max()] 但它不起作用。。。我知道我可以用数据[“TX”].max()找到最大值,用数据[“TX”].min()找到最小值,但如何用最大和最小温度找到相应的日期?也许使用enumerate?可以这样尝试: min_temp = data.loc[data['TX'].idxmin(), '

因此,我的值如下所示(在csv文件中):

19010101是日期,1901年1月1日

而-31将是最高或最低温度

我需要找到最高和最低温度的日期

我试过了

data["DATE"][data["TX"].max()]
但它不起作用。。。我知道我可以用数据[“TX”].max()找到最大值,用数据[“TX”].min()找到最小值,但如何用最大和最小温度找到相应的日期?也许使用enumerate?

可以这样尝试:

min_temp = data.loc[data['TX'].idxmin(), 'DATE']
max_temp = data.loc[data['TX'].idxmax(), 'DATE']
试着这样做:

min_temp = data.loc[data['TX'].idxmin(), 'DATE']
max_temp = data.loc[data['TX'].idxmax(), 'DATE']

下面是一个实现略有不同的示例,它将日期转换为datetime对象

In [50]: import pandas as pd
In [51]: import io
In [52]: fp = io.StringIO('''   162,100522,19010101,  -31,    0
...:
...:    162,100522,19010102,  -13,    0
...:
...:    162,100522,19010103,   -5,    0
...:
...:    162,100522,19010104,  -10,    0
...:
...:    162,100522,19010105,  -18,    0
...:
...:
...:    162,100522,19010106,  -78,    0
...:
...:    162,100522,19010107,  -66,    0
...:
...:    162,100522,19010108,   -6,    0
...:
...:    162,100522,19010109,   42,    0''')

In [53]: df = pd.read_csv(fp, skipinitialspace=True, names=['A','B','Date','TX','C'])
In [54]: df['DateObj'] = pd.to_datetime(df.Date, format='%Y%m%d')
In [55]: df['DateObj'][df.TX == df.TX.min()]
Out[55]:
5   1901-01-06
Name: DateObj, dtype: datetime64[ns]
In [56]: df['DateObj'][df.TX == df.TX.max()]
Out[56]:
8   1901-01-09
Name: DateObj, dtype: datetime64[ns]
In [57]: df['Date'][df.TX == df.TX.min()]
Out[57]:
5    19010106
Name: Date, dtype: int64
In [58]: df['Date'][df.TX == df.TX.max()]
Out[58]:
8    19010109
Name: Date, dtype: int64

下面是一个实现略有不同的示例,它将日期转换为datetime对象

In [50]: import pandas as pd
In [51]: import io
In [52]: fp = io.StringIO('''   162,100522,19010101,  -31,    0
...:
...:    162,100522,19010102,  -13,    0
...:
...:    162,100522,19010103,   -5,    0
...:
...:    162,100522,19010104,  -10,    0
...:
...:    162,100522,19010105,  -18,    0
...:
...:
...:    162,100522,19010106,  -78,    0
...:
...:    162,100522,19010107,  -66,    0
...:
...:    162,100522,19010108,   -6,    0
...:
...:    162,100522,19010109,   42,    0''')

In [53]: df = pd.read_csv(fp, skipinitialspace=True, names=['A','B','Date','TX','C'])
In [54]: df['DateObj'] = pd.to_datetime(df.Date, format='%Y%m%d')
In [55]: df['DateObj'][df.TX == df.TX.min()]
Out[55]:
5   1901-01-06
Name: DateObj, dtype: datetime64[ns]
In [56]: df['DateObj'][df.TX == df.TX.max()]
Out[56]:
8   1901-01-09
Name: DateObj, dtype: datetime64[ns]
In [57]: df['Date'][df.TX == df.TX.min()]
Out[57]:
5    19010106
Name: Date, dtype: int64
In [58]: df['Date'][df.TX == df.TX.max()]
Out[58]:
8    19010109
Name: Date, dtype: int64

这是熊猫,对吗?也许
data[data[“TX”]==data[“TX”].max()][“DATE”]
如果你没有在这个项目中使用熊猫,我建议你这样做。如果你在使用熊猫,你可以
df.set_index('DATE').TX.idxmax()
df.set_index('DATE').TX.idxmin()
如何从CSV中提取这些数据?我们需要知道您是否正在使用python csv reader或类似Pandashis pandas的东西进行解析,对吗?也许
data[data[“TX”]==data[“TX”].max()[“DATE”]
如果您没有在这个项目中使用pandas,我建议您这样做。如果您正在使用pandas,您可以
df.set_index('DATE').TX.idxmax()
df.set_index('DATE').TX.idxmin()
您是如何从CSV中提取这些数据的?我们需要知道您是否正在使用python CSV阅读器或类似工具进行解析