gpt4 book ai didi

python - 根据条件pandas python随机选择行

转载 作者:太空宇宙 更新时间:2023-11-03 12:57:03 24 4
gpt4 key购买 nike

我有一个小的测试数据样本:

import pandas as pd

df = {'ID': ['H900','H901','H902','','M1435','M149','M157','','M699','M920','','M789','M617','M991','H903','M730','M191'],
'Clone': [0,1,2,2,2,2,2,2,3,3,3,4,4,4,5,5,6],
'Length': [48,42 ,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48]}

df = pd.DataFrame(df)

看起来像:

df
Out[4]:
Clone ID Length
0 0 H900 48
1 1 H901 42
2 2 H902 48
3 2 48
4 2 M1435 48
5 2 M149 48
6 2 M157 48
7 2 48
8 3 M699 48
9 3 M920 48
10 3 48
11 4 M789 48
12 4 M617 48
13 4 M991 48
14 5 H903 48
15 5 M730 48
16 6 M191 48

我想要一个简单的脚本来随机选择 5 行,但只包含包含 ID 的行,它不应该包含任何不包含 ID 的行。

我的脚本:

import pandas as pd
import numpy as np

df = {'ID': ['H900','H901','H902','','M1435','M149','M157','','M699','M920','','M789','M617','M991','H903','M730','M191'],
'Clone': [0,1,2,2,2,2,2,2,3,3,3,4,4,4,5,5,6],
'Length': [48,42 ,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48]}

df = pd.DataFrame(df)

rows = np.random.choice(df.index.values, 5)
sampled_df = df.ix[rows]

sampled_df.to_csv('sampled_df.txt', sep = '\t', index=False)

但是这个脚本有时会挑出不包含ID的行

最佳答案

我认为您需要使用 boolean indexing 过滤空 ID :

import pandas as pd
import numpy as np

df = {'ID': ['H900','H901','H902','','M1435','M149','M157','','M699','M920','','M789','M617','M991','H903','M730','M191'],
'Clone': [0,1,2,2,2,2,2,2,3,3,3,4,4,4,5,5,6],
'Length': [48,42 ,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48]}

df = pd.DataFrame(df)
print (df)
df = df[df.ID != '']

rows = np.random.choice(df.index.values, 5)
sampled_df = df.loc[rows]
print (sampled_df)

关于python - 根据条件pandas python随机选择行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37593901/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com