我想復制此資料框的第一行,但保持索引和第一列相同。我找不到讓第一列保持不變的方法。
這只是一個最小化的示例,我正在使用 1000 行。
這是嘗試過的:
import numpy as np
import pandas as pd
df = pd.DataFrame({'X':[1,2,3,4,5], 'Y':[84,94,89,83,86],'Z':[86,97,96,72,83]});
df.iloc[np.arange(1).repeat(len(df))].reset_index(drop=True)
這就是我要找的
({'X':[1,2,3,4,5], 'Y':[84,84,84,84,84],'Z':[86,86,86,86,86]});
uj5u.com熱心網友回復:
這很好用
df.iloc[1:, 1:] = df.iloc[0, 1:].values
uj5u.com熱心網友回復:
只需指定您想要的列,然后使用.loc:
cols = ['Y', 'Z']
df.loc[:, cols] = df.loc[0, cols].to_numpy()
輸出:
>>> df
X Y Z
0 1 84 86
1 2 84 86
2 3 84 86
3 4 84 86
4 5 84 86
或者,如果您希望指定不需要的列,請使用df.columns.difference:
cols = df.columns.difference(['X'])
df.loc[:, cols] = df.loc[0, cols].to_numpy()
uj5u.com熱心網友回復:
為什么不
df['Y'] = [df['Y'].iloc[0]]*len(df)
df['Z'] = [df['Z'].iloc[0]]*len(df)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/444413.html
上一篇:每個影像之間有填充空白
