小编enr*_*shi的帖子

Pandas将数据帧转换为元组数组

我已经使用pandas操纵了一些数据,现在我想执行批量保存回数据库.这需要我将数据帧转换为元组数组,每个元组对应于数据帧的"行".

我的DataFrame看起来像:

In [182]: data_set
Out[182]: 
  index data_date   data_1  data_2
0  14303 2012-02-17  24.75   25.03 
1  12009 2012-02-16  25.00   25.07 
2  11830 2012-02-15  24.99   25.15 
3  6274  2012-02-14  24.68   25.05 
4  2302  2012-02-13  24.62   24.77 
5  14085 2012-02-10  24.38   24.61 
Run Code Online (Sandbox Code Playgroud)

我想将它转换为元组数组,如:

[(datetime.date(2012,2,17),24.75,25.03),
(datetime.date(2012,2,16),25.00,25.07),
...etc. ]
Run Code Online (Sandbox Code Playgroud)

关于如何有效地做到这一点的任何建议?

python pandas

106
推荐指数
8
解决办法
12万
查看次数

pandas - 获取由另一列索引的特定列的最新值(获取由另一列索引的特定列的最大值)

我有以下数据帧:

   obj_id   data_date   value
0  4        2011-11-01  59500    
1  2        2011-10-01  35200 
2  4        2010-07-31  24860   
3  1        2009-07-28  15860
4  2        2008-10-15  200200
Run Code Online (Sandbox Code Playgroud)

我想得到这些数据的一个子集,这样我每个都只有最新的(最大的'data_date')数据.'value''obj_id'

我已经破解了一个解决方案,但感觉很脏.我想知道是否有人有更好的方法.我敢肯定我必须错过一些通过熊猫这么简单的方法.

我的方法主要是分组,排序,检索和重组,如下所示:

row_arr = []
for grp, grp_df in df.groupby('obj_id'):
    row_arr.append(dfg.sort('data_date', ascending = False)[:1].values[0])

df_new = DataFrame(row_arr, columns = ('obj_id', 'data_date', 'value'))
Run Code Online (Sandbox Code Playgroud)

python pandas

17
推荐指数
4
解决办法
1万
查看次数

标签 统计

pandas ×2

python ×2