如何使selectpicker下拉框添加的值在刷新页面后还存在

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使selectpicker下拉框添加的值在刷新页面后还存在相关的知识,希望对你有一定的参考价值。

参考技术A function setCookie(name, value) var exp = new Date(); exp.setTime(exp.getTime() + 24 * 60 * 60 * 1000); document.cookie = name + "=" + escape(value) + ";expires=" + exp.toGMTString(); function getCookie(name) var regExp本回答被提问者采纳

如何根据合并的数据框之一的两列的值在熊猫数据框中添加值

【中文标题】如何根据合并的数据框之一的两列的值在熊猫数据框中添加值【英文标题】:How to add values in a pandas data frame based on values of two columns of one of the data frame merged 【发布时间】:2021-12-09 23:07:57 【问题描述】:

我需要根据我控制的另一个测试来计算测试的敏感性和特异性。为此,我需要合并三个数据框。

第一个连接是在包含所有案例的列与包含控制测试结果的另一列之间。 (我知道该怎么做,但我展示了上一步,让您了解我最后需要做什么)。

第一个数据框:

data = [['ch1.1234578C>T'], ['ch2.123459G>A'], ['ch3.234569A>T'], ['chX.246890A>G']]
 
comparison = pd.DataFrame(data, columns = ['All_common_variants_ID'])

comparison

All_common_variants_ID
1 ch1.1234578C>t
2 ch2.123459G>A
3 ch3.234569A>T
4 chX.246890A>G

第二个数据框:

data = [['ch1.1234578C>T'], ['ch2.123459G>A']]
 
control = pd.DataFrame(data, columns = ['Sample_ID'])

control

Sample_ID
1 ch1.1234578C>T
2 ch2.123459G>A

我已经用这段代码合并了这两个数据框:

comparative = comparison.merge(control[['Sample_ID']],left_on='All_common_variants_ID',right_on='Sample_ID',how='outer').fillna('Real negative')
comparative = comparative.rename(columns='Sample_ID': 'CONTROL')
comparative
All_common_variants_ID  CONTROL

1 ch1.1234578C>T          ch1.1234578C>T  
2 ch2.123459G>A           ch2.123459G>A
3 ch3.234569A>T           Real negative
4 chX.246890A>G           Real negative

现在是我遇到问题的地方。

我需要在条件下将第三个数据帧(测试)与comparative 数据帧的第一列和第二列连接起来。

条件是:

    如果测试数据框的值与第二列中的值匹配,则添加“True-positive”。 如果。值与第二列中的任何值都不匹配添加“假阴性”。 如果与第一列的值匹配且第二列的值是“真正的否定”,则添加“假阳性”。 对于其余单元格,添加“True-negative”。

按照提供的示例,这将是预期的结果。

All_common_variants_ID  CONTROL                 Test

1 ch1.1234578C>T          ch1.1234578C>T       True-positive       # ch1.1234578C>T match with the second column
2 ch2.123459G>A           ch2.123459G>A        False-negative      # ch2.123459G>A is not in my test column
3 ch3.234569A>T           Real negative        False-positive      # ch3.234569A>T match with first column but second column is real negative
4 chX.246890A>G           Real negative        True-negative       # chX.246890A>G is not in my test column and is not in the control column.

一些cmets:

    任何列中都没有重复值 All_common_variants_ID 包含控制列和测试列之间的所有值。

【问题讨论】:

【参考方案1】:

使用np.select

# Setup test dataframe
data = [['ch1.1234578C>T'], ['ch3.234569A>T']]
test = pd.DataFrame(data, columns=['Test'])

# Build variables to np.select
condlist = [comparative['CONTROL'].isin(test['Test']),
            ~comparative['CONTROL'].isin(test['Test'])
                & comparative['CONTROL'].ne('Real negative'),
            comparative['All_common_variants_ID'].isin(test['Test'])
                & comparative['CONTROL'].eq('Real negative')]

choicelist = ['True-positive', 'False-negative', 'False-positive']

default = 'True-negative'

# Create new column
comparative['Test'] = np.select(condlist, choicelist, default)

输出:

>>> comparative
  All_common_variants_ID         CONTROL            Test
0         ch1.1234578C>T  ch1.1234578C>T   True-positive
1          ch2.123459G>A   ch2.123459G>A  False-negative
2          ch3.234569A>T   Real negative  False-positive
3          chX.246890A>G   Real negative   True-negative

【讨论】:

以上是关于如何使selectpicker下拉框添加的值在刷新页面后还存在的主要内容,如果未能解决你的问题,请参考以下文章

bootstrap中selectpicker下拉框使用方法实例

jquery bootstrap selectpicker根据先前的列表选择刷新列表

python测试开发django-168.jquery的clone()后 bootstrap-select 中 selectpicker 下拉框选择无效问题解决

php bootstrap selectpicker控件 下拉有几千条,太卡了,如何解决

c#里面ComBox下拉框里面比较里面是不是有这个值

如何根据合并的数据框之一的两列的值在熊猫数据框中添加值