我有一个panda Dataframe ,我想根据最小值和最大值复制行(每行的复制次数= max
-min
)。在顶部,我想创建一个列,其中每行根据相同的最小值和最大值递增。
例如,如果min = 3,max = 6,我希望该行出现4次(重复3次),每次重复的值列的值应该从3到6,并且每次重复都递增。
输入示例:
| 识别号|最小值|最大值|
| - ------|- ------|- ------|
| 产品ABC|三个|六个|
| 产品XXXX|八个|十个|
预期输出:
| 识别号|最小值|最大值|价值|
| - ------|- ------|- ------|- ------|
| 产品ABC|三个|六个|三个|
| 产品ABC|三个|六个|四个|
| 产品ABC|三个|六个|五个|
| 产品ABC|三个|六个|六个|
| 产品XXXX|八个|十个|八个|
| 产品XXXX|八个|十个|九|
| 产品XXXX|八个|十个|十个|
3条答案
按热度按时间tkclm6bt1#
使用
Index.repeat
乘以列差,加上1
,重复DataFrame.loc
,最后将计数器列乘以GroupBy.cumcount
加到min
列:tcomlyy62#
创建从
min
到max
的范围并分解它们(使用df.explode
):hlswsv353#
您可以使用
Index.repeat
复制行,然后使用groupby.cumcount
复制新列:输出:
中间体: