Динамическое изменение элементов управления нажатием wpf

Pandas (и numpy) позволяют булевое индексирование , что будет намного более эффективным:

In [11]: df.loc[df['col1'] >= 1, 'col1']
Out[11]: 
1    1
2    2
Name: col1

In [12]: df[df['col1'] >= 1]
Out[12]: 
   col1  col2
1     1    11
2     2    12

In [13]: df[(df['col1'] >= 1) & (df['col1'] <=1 )]
Out[13]: 
   col1  col2
1     1    11

Если вы хотите написать вспомогательные функции для этого, рассмотрите что-то эти строки:

In [14]: def b(x, col, op, n): 
             return op(x[col],n)

In [15]: def f(x, *b):
             return x[(np.logical_and(*b))]

In [16]: b1 = b(df, 'col1', ge, 1)

In [17]: b2 = b(df, 'col1', le, 1)

In [18]: f(df, b1, b2)
Out[18]: 
   col1  col2
1     1    11

Обновление: pandas 0.13 имеет метод запроса для этих видов использования, предполагая, что имена столбцов являются действительными идентификаторами, следующие работы (и могут быть более эффективными для больших кадров, поскольку он использует numexpr за кулисами):

In [21]: df.query('col1 <= 1 & 1 <= col1')
Out[21]:
   col1  col2
1     1    11

0
задан TT7 11 March 2019 в 13:56
поделиться

1 ответ

Не уверен, правильно ли я понимаю ваши потребности, но я думаю, что вы этого хотите:

XAML:

        <Grid Width="50">
            <ComboBox x:Name="cb" SelectedIndex="0" ItemsSource="{Binding MyObservableCollection}"/>
            <TextBox x:Name="tb" Text="{Binding ElementName=cb,Path=SelectedItem}">
                <TextBox.Style>
                    <Style TargetType="TextBox">
                        <Style.Triggers>
                            <DataTrigger Binding="{Binding ElementName=tb, Path=IsFocused}" Value="true">
                                <Setter Property="Visibility" Value="Hidden"/>
                            </DataTrigger>
                        </Style.Triggers>
                    </Style>
                </TextBox.Style>
            </TextBox>
        </Grid>

DataContext:

    private ObservableCollection<string> myObservableCollection = new ObservableCollection<string>{ "one", "two", "tree" };

    public ObservableCollection<string> MyObservableCollection
    {
        get => this.myObservableCollection;
        set => SetField(ref this.myObservableCollection, value);
    }
0
ответ дан Denis Schaf 11 March 2019 в 13:56
поделиться
Другие вопросы по тегам:

Похожие вопросы: