Объединение данных данных Pandas

У меня есть конкатенированный фрейм данных панд из 4-х тактовых кадров:

In [121]: all Out[121]: EHNS 102P Y NaN NaN NaN 103R Y NaN NaN NaN 102P NaN NaN Y NaN 103R NaN NaN Y NaN 109F NaN NaN Y NaN 103R NaN Y NaN NaN 109F NaN Y NaN NaN 102P NaN NaN NaN Y 103R NaN NaN NaN Y 109F NaN NaN NaN Y 

Я хочу объединить это в dataframe следующим образом:

  EHNS 102P Y NAN YY 103R YYYY 109F NAN YYY 

Как я могу объединить их на основе all.index?

One Solution collect form web for “Объединение данных данных Pandas”

Сделайте groupby по индексу (я исхожу из данных, которые вы опубликовали, что значения 102P... находятся в индексе). И подсчитайте значения. Это вернет DataFrame с нулями и единицами. Просто замените их соответствующими значениями.

 >>> ndf = df.groupby(level=0).count() >>> ndf[ndf == 1] = 'Y' >>> ndf[ndf == 0] = np.nan >>> ndf EHNS label 102P Y NaN YY 103R YYYY 109F NaN YYY 

Если у вас есть повторения, просто измените условие из ndf[ndf == 1] на ndf[ndf > 0] .

Но почему вы объединяете кадры данных, а не объединяете их? Пример:

 >>> df1 EHNS 0 102P Y NaN NaN NaN 103R Y NaN NaN NaN >>> df2 EHNS 0 102P NaN NaN Y NaN 103R NaN NaN Y NaN 109F NaN NaN Y NaN ... >>> reduce(lambda first, second: first.combine_first(second), [df1, df2, df3, df4], pd.DataFrame()) EHNS 0 102P Y NaN YY 103R YYYY 109F NaN YYY 
  • сюжет всей строки на пандах
  • pandas и rpy2: Почему ezANOVA работает через robjects.r, но не robjects.packages.importr?
  • Использование Merge в столбце и Index в Pandas
  • Pandas Dataframe разделился на сеансы
  • Эффективно создавать редкие сводные таблицы в пандах?
  • python pandas timeseries plot, как установить xlim и xticks за пределами ts.plot ()?
  • заполнение последних известных данных пандами
  • какова обратная функция квантиля на серии панд?
  • Python - лучший язык программирования в мире.