Есть ли в python функция, которая может помочь мне связать все значения в одной строке вместо нескольких? - PullRequest
0 голосов
/ 04 марта 2020

Я хочу сверху представить значения в этом фрейме данных для каждого года в одной и той же строке. Как и в 2019 году, мне нужна только 1 строка для 2019, которая имеет все соответствующие значения.

введите изображение описание здесь

    Year    Profits of A    Profits of B    Profits of C    Profits of D    Profits of E
0   1999    200.0   NaN NaN NaN NaN
1   2000    220.0   NaN NaN NaN NaN
2   2001    240.0   NaN NaN NaN NaN
3   2002    260.0   NaN NaN NaN NaN
4   2003    224.0   NaN NaN NaN NaN
... ... ... ... ... ... ...
58  2018    NaN NaN NaN NaN 123.25
59  2019    NaN 157.5   NaN NaN NaN
60  2019    NaN NaN 99.0    NaN NaN
61  2019    NaN NaN NaN 82.8    NaN
62  2019    NaN NaN NaN NaN 102.00

Ответы [ 2 ]

0 голосов
/ 04 марта 2020

Используйте это:

x3.groupby('Year').max()

При условии, что для каждого столбца в год будет присутствовать только одно ненулевое значение

0 голосов
/ 04 марта 2020

Вы можете просто группировать по годам и сумме:

import pandas as pd
import io

data = io.StringIO(
"""Index    Year    "Profits of A"    "Profits of B"    "Profits of C"    "Profits of D"    "Profits of E"
0   1999    200.0   NaN NaN NaN NaN
1   2000    220.0   NaN NaN NaN NaN
2   2001    240.0   NaN NaN NaN NaN
3   2002    260.0   NaN NaN NaN NaN
4   2003    224.0   NaN NaN NaN NaN
58  2018    NaN NaN NaN NaN 123.25
59  2019    NaN 157.5   NaN NaN NaN
60  2019    NaN NaN 99.0    NaN NaN
61  2019    NaN NaN NaN 82.8    NaN
62  2019    NaN NaN NaN NaN 102.00""")

df = pd.read_table(data, index_col=0, delim_whitespace=True)
df2 = df.groupby('Year').sum().reset_index()
print(df2)
#    Year  Profits of A  Profits of B  Profits of C  Profits of D  Profits of E
# 0  1999         200.0           0.0           0.0           0.0          0.00
# 1  2000         220.0           0.0           0.0           0.0          0.00
# 2  2001         240.0           0.0           0.0           0.0          0.00
# 3  2002         260.0           0.0           0.0           0.0          0.00
# 4  2003         224.0           0.0           0.0           0.0          0.00
# 5  2018           0.0           0.0           0.0           0.0        123.25
# 6  2019           0.0         157.5          99.0          82.8        102.00
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...