我希望能够在pandas DataFrame中重复单元格。我想要转换
name, number
a, 2
b, 1
转化为
name, number
a, 2
b, 2
a, 1
b, 1
我希望能够在pandas DataFrame中重复单元格。我想要转换
name, number
a, 2
b, 1
转化为
name, number
a, 2
b, 2
a, 1
b, 1
np.tile
and np.repeat
pd.DataFrame(dict(
name=np.tile(df.name.values, 2),
number=np.repeat(df.number.values, 2)
))
name number
0 a 2
1 b 2
2 a 1
3 b 1
pd.MultiIndex.from_product
pd.DataFrame(
pd.MultiIndex.from_product(
[df.name.unique(), df.number.unique()]
).values.tolist(), columns=df.columns)
name number
0 a 2
1 b 2
2 a 1
3 b 1
重复行:
In [10]: pd.concat([df] * 2, ignore_index=True)
Out[10]:
name number
0 a 2
1 b 1
2 a 2
3 b 1
列值的笛卡尔积:
In [14]: from itertools import product
In [15]: pd.DataFrame(list(product(df.name, df.number)), columns=df.columns)
Out[15]:
name number
0 a 2
1 a 1
2 b 2
3 b 1