Я хочу назначить переменную фрейму данных, но значение присваивается только первой строке, остальные - Nan. Я могу найти только документацию о том, как превратить значение NaN в ноль.
У меня есть следующие данные:
import pandas as pd
data = {'One': ['a value', 'another value', 'okay', 'yes'],'Two': ['var', 'var2', 'alright', 'pool']}
df = pd.DataFrame(data, columns=['One', 'Two'])
У меня также есть этот список словарей:
d = [{'year': '1997', 'name': 'John', 'another_dict': 'dict'}]
Я хочу назначить year
из списка словарей. Никакие другие словари меня не интересуют, только годовой. Чтобы назначить его моему df, я сделал следующее:
преобразовал список словарей в df
dr = pd.DataFrame.from_dict(d, orient='columns')
# strip the year column from the data
acad_year = dr["year"]
# join to the original data
new_data = df.join(acad_year)
print(new_data)
Проблема в том, что 1997
назначается только в первой строке, после этого я получить значения NaN. Кто-нибудь знает, как я могу это сделать, чтобы каждое значение в столбце «год» было «1997»? Я понимаю, что это довольно затяжной процесс, поэтому, если есть лучший способ назначить "год" фрейму данных, дайте мне знать!