【发布时间】:2021-10-27 04:17:36
【问题描述】:
我正在尝试复制列的元素 3 次。
也就是说,
从 数据帧 = [A, B, C]
到 DataFrame = [A, A, A, B, B, B, C, C, C]
这可以通过一些 lambda 函数来实现吗?
【问题讨论】:
标签: python python-3.x pandas dataframe lambda
我正在尝试复制列的元素 3 次。
也就是说,
从 数据帧 = [A, B, C]
到 DataFrame = [A, A, A, B, B, B, C, C, C]
这可以通过一些 lambda 函数来实现吗?
【问题讨论】:
标签: python python-3.x pandas dataframe lambda
您可以连接数据帧:
import pandas as pd
df = pd.DataFrame({"Values": ["A", "B", "C"]})
# output
Values
0 A
1 B
2 C
pd.concat([df, df, df]).sort_values("Values")
# output
Values
0 A
0 A
0 A
1 B
1 B
1 B
2 C
2 C
2 C
或者如果你想使用 apply 出于某种原因你可以用那种奇怪的方式来做:
import itertools
pd.DataFrame(
itertools.chain(*df.Values.apply(lambda x: 3 * [x]).to_list()),
columns=df.columns
)
# output
Values
0 A
1 A
2 A
3 B
4 B
5 B
6 C
7 C
8 C
【讨论】: