Итак, я хочу добавить / добавить данные в указанный столбец c pandas dataFrame, но без него в остальных столбцах появляются значения NaN
Т.е.
DataFrame = pd.DataFrame(columns=["column1", "column2", "column3"])
for i in range():
DataFrame = DataFrame.append({"column1":int(i)}, ignore_index=True)
DataFrame = DataFrame.append({"column2":float(i*2)}, ignore_index=True)
DataFrame = DataFrame.append({"column3":int(i*5)}, ignore_index=True)
print(DataFrame)
Это вернет:
column1 column2 column3
0 0.0 NaN NaN
1 NaN 0.0 NaN
2 NaN NaN 0.0
3 1.0 NaN NaN
4 NaN 2.0 NaN
5 NaN NaN 5.0
6 2.0 NaN NaN
7 NaN 4.0 NaN
8 NaN NaN 10.0
То, что мы хотим вернуть:
column1 column2 column3
0 0.0 0.0 0.0
1 1.0 2.0 5.0
2 2.0 4.0 10.0
Я знаю, что могу в этом случае используйте один .append для всех разных столбцов. Но у меня есть несколько случаев, когда добавляемые данные будут различаться в зависимости от нескольких условий. Поэтому я хотел бы знать, возможно ли добавить отдельные столбцы в кадре данных без создания значений NaN в оставшихся столбцах. Так что я могу избежать написания сотен операторов if else.
Или, если у кого-то есть хорошая идея относительно того, как «свернуть» значения NaN (удаление значений NaN без удаления всей строки, чтобы при наличии значения NaN с индексом 0 в столбце 3 и наличии целое число 5 с индексом 1 в том же столбце, целое число 5 перемещается вверх до индекса 0)
Рад слышать любые идеи.