pandas 实现类似numpy repeat的想过构造一个同样值的矩阵
时间: 2023-07-16 10:17:09 浏览: 98
是的,Pandas中有一个`repeat()`函数,可以重复数组中的元素,生成一个新的Series或DataFrame对象。如果你想要生成一个同样值的矩阵,可以使用Pandas中的`DataFrame()`函数来实现。
具体地说,你可以先创建一个只包含一个元素的DataFrame,然后使用`repeat()`函数来将该元素重复多次,生成一个同样值的矩阵。
以下是示例代码:
```python
import pandas as pd
# 创建一个只包含一个元素的DataFrame
df = pd.DataFrame({'A': [1]})
# 将该元素重复3行,4列,生成一个同样值的矩阵
result = df.loc[df.index.repeat(3)].reset_index(drop=True).assign(col=df.index.repeat(4)).pivot(index='index', columns='col', values='A')
```
在上述代码中,我们首先创建了一个只包含一个元素的DataFrame。然后,使用`loc[]`函数和`repeat()`函数将该元素重复多次,并将结果转换为一个新的DataFrame对象。最后,使用`pivot()`函数将该DataFrame对象转换为一个矩阵。在`pivot()`函数中,参数`index`表示矩阵的行,参数`columns`表示矩阵的列,参数`values`表示矩阵中每个元素的值。
这样,你就可以像使用numpy的`repeat()`函数一样,使用Pandas中的`DataFrame()`函数来生成同样值的矩阵了。
阅读全文