Используйте список словарей для создания новой переменной во фрейме данных - PullRequest
0 голосов
/ 10 июля 2020

У меня есть следующий фрейм данных:

import pandas as pd
data = {'One': ['number 1', 'number 1'],'Two': ['number 2', 'number 2']}
df = pd.DataFrame(data, columns=['One', 'Two'])
print(df)

У меня также есть этот список словарей:

[{'year': '1997', 'name': 'John'}]

Я бы хотел взять год из списка в создайте новую переменную в df под названием «the_year», для которой установлено значение «1997». Итак, new_df будет выглядеть так:

data = {'One': ['number 1', 'number 1'],'Two': ['number 2', 'number 2'],'the_year': ['1997', '1997']}
new_df = pd.DataFrame(data, columns=['One', 'Two', 'the_year'])
print(new_df)

Кто-нибудь знает, как я этого добился?

Спасибо

Ответы [ 2 ]

0 голосов
/ 10 июля 2020
import pandas as pd
data = {'One': ['number 1', 'number 1'],'Two': ['number 2', 'number 2']}

Вы можете просто создать еще один ключ the_year для data перед преобразованием словаря в фрейм данных.

data_with_year = [{'year': '1997', 'name': 'John'}, {'year': '1998', 'name': 'Tony'}]
years = [d['year'] for d in data_with_year]
data['the_year'] = years

df = pd.DataFrame(data)
print(df)

Вывод:

        One       Two the_year
0  number 1  number 2     1997
1  number 1  number 2     1998
0 голосов
/ 10 июля 2020

Просто скопируйте столбец year из DataFrame, построенного из словаря в виде записей.

data = {'One': ['number 1', 'number 1'],'Two': ['number 2', 'number 2']}
df = pd.DataFrame(data, columns=['One', 'Two'])

data_with_year = pd.DataFrame([{'year': '1997', 'name': 'John'}, {'year': '1998', 'name': 'Florence'}])

new_data = df.copy()
new_data['the_year'] = data_with_year['year']
print(new_data)

Дает

        One       Two the_year
0  number 1  number 2     1997
1  number 1  number 2     1998
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...