📅  最后修改于: 2023-12-03 15:19:21.936000             🧑  作者: Mango
Pandas Series Repeat() 方法用于将给定的整数或列表中的每个元素重复 n 次,并返回一个新的Series对象。下面是整个方法的语法:
Series.repeat(repeats, axis=None) -> pandas.Series
该方法有两个参数:
现在,让我们看一些具体的例子。
让我们从简单的例子开始,假设我们有一个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。