📜  Python|熊猫系列.repeat()(1)

📅  最后修改于: 2023-12-03 15:19:21.936000             🧑  作者: Mango

Python Pandas Series Repeat()

Pandas Series Repeat() 方法用于将给定的整数或列表中的每个元素重复 n 次,并返回一个新的Series对象。下面是整个方法的语法:

Series.repeat(repeats, axis=None) -> pandas.Series

该方法有两个参数:

  • repeats:可以是一个整数或一个整数列表,用于指定每个元素重复的次数。
  • axis:可选参数,指定沿着哪个轴应用算法,可以是 0 或 1。

现在,让我们看一些具体的例子。

重复一次

让我们从简单的例子开始,假设我们有一个Series对象,它存储了一些随机的数字,并且我们想让每个数字重复一次。在这种情况下,参数 repeats 应该是一个 1

import pandas as pd
import numpy as np

s = pd.Series(np.random.randint(1, 5, 5))
s_repeated = s.repeat(1)

print("Original Series:\n", s)
print("Repeated Series:\n", s_repeated)
Original Series:
 0    3
1    1
2    1
3    2
4    2
dtype: int64
Repeated Series:
 0    3
1    1
2    1
3    2
4    2
dtype: int64

如你所见,每个数字只出现了一次,和原始Series对象是一样的。

重复多次

现在,让我们看一个例子,假设我们有一个包含三个字符串的Series对象,并且我们想让每个字符串重复两次。在这种情况下,参数 repeats 应该是一个长度为 3 的整数列表,指定每个元素重复的次数:

s = pd.Series(["apple", "banana", "cherry"])
s_repeated = s.repeat([2, 2, 2])

print("Original Series:\n", s)
print("Repeated Series:\n", s_repeated)
Original Series:
 0     apple
1    banana
2    cherry
dtype: object
Repeated Series:
 0     apple
0     apple
1    banana
1    banana
2    cherry
2    cherry
dtype: object

如你所见,每个字符串都重复了两次,生成了一个新的Series对象。

沿着行和列重复

最后,让我们看一个稍微复杂的例子,假设我们有一个2x2 DataFrame,用于存储一些颜色值。然后我们想在行和列上分别重复这个 DataFrame:

df = pd.DataFrame({
    "red": [255, 0], 
    "green": [0, 255], 
    "blue": [0, 0]
})

df_repeated_row = df.repeat([2], axis=0)
df_repeated_col = df.repeat([2], axis=1)

print("Original DataFrame:\n", df)
print("Repeated DataFrame (Row):\n", df_repeated_row)
print("Repeated DataFrame (Column):\n", df_repeated_col)
Original DataFrame:
   red  green  blue
0  255      0     0
1    0    255     0
Repeated DataFrame (Row):
    red  green  blue
0  255      0     0
0  255      0     0
1    0    255     0
1    0    255     0
Repeated DataFrame (Column):
    red  red  green  green  blue  blue
0  255  255      0      0     0    0
1    0    0    255    255     0    0

如你所见,重复后的 DataFrame 与原始 DataFrame 相比,在行和列上都进行了复制。

这就是 Python Pandas Series Repeat() 方法的基础知识,它非常方便,可以帮助我们快速创建重复的Series和DataFrame。