【问题标题】:how to generate n rows based on a value in a column in Big Query? [duplicate]如何根据 Big Query 中的列中的值生成 n 行? [复制]
【发布时间】:2022-05-04 02:34:30
【问题描述】:

我有下表。

我需要转换此输入,如下面的输出示例所示:

如果您有任何想法,请分享。非常感谢!

【问题讨论】:

  • 是的,它更接近,删除了错误的欺骗。

标签: google-bigquery


【解决方案1】:

Index.repeat 用于DataFrame.loc 的新行,删除no 列,获取flag 列并最后创建默认RangeIndex

df1 = (df.loc[df.index.repeat(df['no'])]
         .drop('no', axis=1)
         .assign(flag=1)
         .reset_index(drop=True))
print (df1)
   id_1  id_2  flag
0     A   100     1
1     A   100     1
2     A   100     1
3     A   200     1
4     A   301     1
5     A   301     1
6     B   122     1
7     B   122     1
8     B   122     1
9     B   122     1
10    B   100     1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    相关资源
    最近更新 更多