我有一个数据框,我想“加倍”(或三倍,或....)。我不是试图将数据帧与其自身连接起来,即将df的一个完整副本堆叠在df的另一个完整副本之上。
从此开始:
import pandas as pd
from io import StringIO
from IPython.display import display
A_csv = """country
Afghanistan
Brazil
China"""
with StringIO(A_csv) as fp:
A = pd.read_csv(fp)
display(A)
结果
country
0 Afghanistan
1 Brazil
2 China
我想得到这样的东西;索引和缩进不是那么重要。
country
0 Afghanistan
1 Afghanistan
2 Brazil
3 Brazil
4 China
5 China
最佳答案
使用np.repeat
:
df = pd.DataFrame(A.values.repeat(2), columns=A.columns)
df
country
0 Afghanistan
1 Afghanistan
2 Brazil
3 Brazil
4 China
5 China
对于N-D数据帧,应使用
axis
中的repeat
参数扩展解决方案:df = pd.DataFrame(A.values.repeat(2, axis=0), columns=A.columns)
关于python - 在 Pandas 数据框中重复行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46435631/