Дублировать строки в dataframe на основе значения столбца [duplicate]

Чтобы устранить эту проблему, выполните навигацию к Настройки> Конфиденциальность . «Просто удалите этот код» и поставьте простое предупреждение, показывающее «Включить службы определения местоположения».

Так как из iOS 10 apple считают, что это частный объект. Поэтому вы не можете пройти через это.

5
задан kdopen 17 July 2015 в 22:06
поделиться

2 ответа

Вы можете использовать np.repeat()

import pandas as pd
import numpy as np

# your data
# ========================
df

   x  count
0  d      2
1  e      3
2  f      2

# processing
# ==================================
np.repeat(df.values, df['count'].values, axis=0)


array([['d', 2],
       ['d', 2],
       ['e', 3],
       ['e', 3],
       ['e', 3],
       ['f', 2],
       ['f', 2]], dtype=object)

pd.DataFrame(np.repeat(df.values, df['count'].values, axis=0), columns=['x', 'count'])

   x count
0  d     2
1  d     2
2  e     3
3  e     3
4  e     3
5  f     2
6  f     2
9
ответ дан Jianxun Li 27 August 2018 в 23:47
поделиться

Вы можете использовать .loc с repeat, например

In [295]: df.loc[df.index.repeat(df['count'])].reset_index(drop=True)
Out[295]:
   x  count
0  d      2
1  d      2
2  e      3
3  e      3
4  e      3
5  f      2
6  f      2

Или, используя pd.Series.repeat, вы можете

In [278]: df.set_index('x')['count'].repeat(df['count']).reset_index()
Out[278]:
   x  count
0  d      2
1  d      2
2  e      3
3  e      3
4  e      3
5  f      2
6  f      2
2
ответ дан Zero 27 August 2018 в 23:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: