微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python-如何在多索引熊猫数据框中获取随机样本?

我有一个根据以下变量建立索引的数据框:NAME-日期.名称是某种奇怪的ID,日期是..日期.

数据非常大,我想检查一下随机选择的NAME的数据.

那是,

>从可能的名称随机选择一个名称
>按时间顺序检查该NAME的数据.

我不知道该怎么做.我看到我们可以使用get_level_values,但是我没有特定的名称,我只是想多次调用随机样本.

任何帮助表示赞赏!
谢谢!

解决方法:

import pandas as pd
import numpy as np
import random
import string

df = pd.DataFrame(data={'NAME': [''.join(random.choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in range(17)) for _ in range(10)],
            'Date': pd.date_range('1/01/2016', periods=10),
            'Whatever': np.random.randint(20, 50, 10)},
                  columns=['NAME', 'Date', 'Whatever']).set_index(['NAME', 'Date'])

random_df = df[df.index.get_loc(np.random.choice(df.index.levels[0])) == True].sort_index(level=1)
print(random_df)

返回如下所示的df:

                              Whatever
NAME              Date                
xg71zOEQVOEfCZ2ne 2016-01-01        35
qLCXuEerCXi6gmF1Y 2016-01-02        26
0vDe7x8TIb5FRv7hV 2016-01-03        40
Ddc6FGKBdtcLqT53O 2016-01-04        31
IYcrKG9pjt7mHH3qn 2016-01-05        44
lAWObNTC8yXPMY3v5 2016-01-06        49
k90QWdPc5qFSCFi1c 2016-01-07        22
BWQoHo8lUyEwK9Nuf 2016-01-08        42
Xt0bxUerTan0i1eGw 2016-01-09        22
tc7PYCzpyGmYLbnxu 2016-01-10        46

如下所示的random_df:

                              Whatever
NAME              Date                
IYcrKG9pjt7mHH3qn 2016-01-05        44

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐