从pandas DataFrame列生成另一列

时间:2017-01-04 02:49:23

标签: python pandas dataframe list-comprehension

对于5到27摄氏度的每日最高温度值列表,我想计算相应的最大臭氧浓度,来自以下pandas DataFrame: enter image description here

我可以使用以下代码,通过更改5然后6,7等

来完成此操作
df_c=df_b[df_b['Tmax']==5]
df_c.O3max.max()

然后我必须将输出值复制并粘贴到Excel电子表格中。我确信必须有更多的pythonic方法,例如使用列表理解。理想情况下,我想从03max列生成一个值列表。请给我一些建议。

2 个答案:

答案 0 :(得分:0)

pd.Series.map与另一个pd.Series

一起使用
pd.Series(list_of_temps).map(df_b.set_index('Tmax')['O3max'])

您可以获取数据框

result_df = pd.DataFrame(dict(temps=list_of_temps))
result_df['O3max'] = result_df.temps.map(df_b.set_index('Tmax')['O3max'])

答案 1 :(得分:0)

我还有另一个游戏,并认为以下代码似乎可以完成这项工作:

df_c=df_b.groupby(['Tmax'])['O3max'].max()

我很感激任何关于这是否正确的想法