在Python中将.sample()与.where()一起使用时出现不良结果

吉米卡普尔顿

我正在尝试从满足条件的数据框中选择2个随机值。请在下面查看示例df:

data = {'col1':  ['abc', 'def','ghi','jkl','mno','pqr','stu','vwx','yz'],
        'col2': ['4', '1','4','4','0','1','4','2','4'],
        'col3': ['Sweden', 'Malaysia','Sweden','Venezuela','France','Sweden','Australia','Belgium','Sweden']
        }

df = pd.DataFrame (data, columns = ['col1','col2','col3'])

我想从'col1'中选择2个随机值,其中'col2'等于4。然后使用的代码是:

print(df['col1'].sample(n=2).where(df['col2']==4))

所需的输出为:

0  abc
6  stu

....要么

8  yz
2 ghi 

但是,代码当前提供的输出如下:

7    NaN
3    NaN

这是不希望的,因为a)我期望看到一个字符串值作为文本,并且b)对应于第3行的值将满足条件,而对应于第7行的值不满足,因此该条件未满足所有情况。

问题:

  1. 我将如何修改代码,使其仅在满足条件的情况下返回文本值
  2. 我将如何添加第二个条件,例如 .where(df['col2']==4) & (df['col3']=='Sweden')

感谢这里的任何指导。

ug

也许先过滤数据会更容易。我不确定您是否特别想使用,.where()但如果不是,这也将有助于您下一步添加更多条件。

另外,我认为部分问题是在df中,col2值是字符串,因此您需要让公式查找“ 4”而不是数字4。

df.loc[df['col2'] == '4','col1'].sample(n=2)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Java中将Reduce与prallelstream一起使用时出现奇怪的结果

将排序与 seq::index::sample 一起使用时出现 Rust 错误

在Python中将MySQL与AWS Lambda一起使用时出现问题

在Python中将knnMatch与opencv一起使用时出错

在Swift3中将回调与CGPattern一起使用时出现问题

在Clang中将块与qsort一起使用时出现不兼容的指针类型错误

在Angular中将* ngFor与异步管道一起使用时出现无限循环

在Laravel中将Sass与AgGrid一起使用时,为什么会出现错误?

在bash脚本中将cd命令与“〜”或“ $ HOME”一起使用时出现问题

与sparklyr一起使用时sample_n真的是随机样本吗?

在Python中将.split()与用户输入一起使用时出错

在MySQL中将WHERE与AS一起使用

与Tkinter一起使用时StingVar()在Python中出现错误

使python 2.7与我的django项目一起使用时出现问题

在IF中将IF与大括号一起使用时

在firebase中将catch()与.on()一起使用时出错

在PHP文件中将cURL与Google Apps Script Web App一起使用时出现问题

在OWIN中将Simple Injector与WebApi自托管一起使用时,为什么会出现此ActivationException?

在Rails的Rspec测试中将domsid与css选择器一起使用时出现错误消息Capybara :: ElementNotFound

我在python 3中将生成器与输入函数一起使用时遇到问题

在Python中将min(,[,key])与多个参数一起使用

如何在Python中将if语句与数组一起使用?

在AMD GPU中将Python + Theano与OpenCL一起使用

如何在OSX中将OpenCV与python一起使用?

在Python中将Dicom图像与OpenCV一起使用

在Python中将__repr__与shelve模块一起使用

在 python 中将类与 Tkinter 一起使用

当将text()与python-escpos一起使用时,出现[Errno None]并且键错误= 1(Windows 10)

与python-mode一起使用时,YouCompleteMe冻结