Карта изменил поля, установив новое значение для списка

Для выбора только определенных столбцов из нескольких столбцов для заданного значения в pandas:

select col_name1, col_name2 from table where column_name = some_value.

Опции:

df.loc[df['column_name'] == some_value][[col_name1, col_name2]]

или

df.query['column_name' == 'some_value'][[col_name1, col_name2]]
0
задан Luiz Ricardo Cardoso 18 January 2019 в 16:26
поделиться

1 ответ

Хорошо,

Если я правильно вас понял, это должно вам помочь. Создает новый объект журнала с массивом fields_changed, содержащим объекты {key: string, field_name: string, value: string,}.

Вот рабочий пример, я немного изменил ваш пример для простоты.

const log = [
    {
        type: "Changed", 
        fields_changed: [
            { key: "name", value: "New name" },
            { key: 'city', value: 'new york' }
        ]
    },
    { 
        type: "Changed", 
        fields_changed: [
            { key: "age", value: '10' }
        ] 
    },
]

const fieldsNames = [
    { key: 'name', field_name: 'Name' },
    { key: 'age', field_name: 'Age' },
    { key: 'city', field_name: 'City' }
]


const changes_for_display = log
    // loop through log object.
    .map(change => ({

        // for every object, map its fields_changed property,
        fields_changed: change.fields_changed.map(field_change => {

            // Look for a field in fieldsNames with same key as field_change.
            const field = fieldsNames.find(name => name.key === field_change.key);
            if (!field) {
                throw 'Field ' + field_change.key + ' NOT FOUND....';
            }

            // build new field_change object out of it,
            // basaically, just asasign value property..
            return Object.assign(field, { value: field_change.value })

        }), type: change.type })
    );


// Cheers..
console.log(changes_for_display)
0
ответ дан Silvan Bregy 18 January 2019 в 16:26
поделиться
Другие вопросы по тегам:

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