数据帧数据检索

2024-05-04 21:22:56 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的数据框示例

              icd_code   from_date  paid_amount
claim_id                                       
CKEY-7724339    719.43  2015-09-26       300.09
CKEY-5008998     722.2  2015-04-21        11.65
CKEY-7896598       722  2015-02-23        17.19
CKEY-7758556     850.9  2014-03-13       414.02
CKEY-7749118     847.0  2012-07-18         4.42
CKEY-10383160   854.00  2015-06-16       751.68
CKEY-10678452   607.84  2015-07-07        11.13
CKEY-10734364    882.2  2015-07-22      5625.00
CKEY-3500566    307.89  2011-08-09       500.00
CKEY-10766667    344.1  2013-12-03       139.41

使用.loc检索时,输出如下

$ indexed_data.loc['CKEY-10766667']
icd_code            344.1
from_date      2013-12-03
paid_amount        139.41
Name: CKEY-10766667, dtype: object

~~~~~~~~expected output ~~~~~~~~~~
CKEY-10766667    344.1  2013-12-03       139.41

有人能告诉我上面的代码有什么问题吗

注意:我有电话data.set\u索引原始数据集上的('claim\u id')创建了'claim\u id'索引。你知道吗


Tags: 数据namefromid示例datadatecode
1条回答
网友
1楼 · 发布于 2024-05-04 21:22:56

使用下面的代码得到了预期的输出:

$>>> indexed_data.loc[['CKEY-8369057']] 

当存在多行时,将单个值传递给.loc将返回一个数据帧;如果只有一行,则返回一个序列。但是将列表传递给.loc将始终返回一个数据帧。你知道吗

考虑到执行时间,传递一个列表比单个元素消耗更多的时间,特别是当语句在循环中时。以下是我为获得更好的执行时间所做的工作

df = indexed_data.loc[x]
if type(df).__name__ == 'Series':
    df = df.to_frame().T

上面的代码确保在这三行的末尾有一个数据帧。你知道吗

相关问题 更多 >