python pandas 数据查找_Python Pandas:查找包含numpy数组的数据框列中每行的最大值...

我会忘记’max_val_idx’列.我不认为它节省了时间,实际上更多的是语法上的痛苦.样本数据:

df = pd.DataFrame({ 'x': range(3) }).applymap( lambda x: np.random.randn(3) )

x

0 [-1.17106202376, -1.61211460669, 0.0198122724315]

1 [0.806819945736, 1.49139051675, -0.21434675401]

2 [-0.427272615966, 0.0939459129359, 0.496474566...

你可以像这样提取最大值:

df.applymap( lambda x: x.max() )

x

0 0.019812

1 1.491391

2 0.496475

但一般来说,如果每个细胞有一个数字,生活会更容易.如果每个单元格都有一个长度为3的数组,则可以重新排列如下:

for i, v in enumerate(list('abc')): df[v] = df.x.map( lambda x: x[i] )

df = df[list('abc')]

a b c

0 -1.171062 -1.612115 0.019812

1 0.806820 1.491391 -0.214347

2 -0.427273 0.093946 0.496475

然后做一个标准的熊猫操作:

df.apply( max, axis=1 )

x

0 0.019812

1 1.491391

2 0.496475

不可否认,这并不比上面容易得多,但总体而言,这种形式的数据更容易使用.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值