首页 > 解决方案 > 使用python将十个10行的值分配到一行[0]中

问题描述

我有一个 dataFrame df= LON LAT COG SOG 32.1 44.5 30.2 56.5 形状是 540x4。

现在我需要根据以下要求拆分数据。

1) row[0] 到 row[9] 成单行(即第一行:输出应该是一行。行大小将为 1x40 )

2)第1行到第[10]行成单行(即第2行:输出应该是一行。行大小将是1x40)

3)第2行到第[11]行是(第3行:输出应该是一行。行大小将是1x40)直到540

4) 最终输出形状为 540x40。

5) 为了更好地理解附加的输入和输出图像。

输入数据

输出数据

标签: python-3.6

解决方案


这是一种方法

获取列

df = pd.DataFrame(np.random.randint(0, 10, (20, 4)))
columns = df.columns.tolist() * 10

迭代您当前的 df 并连接每一行

tdf = pd.DataFrame()
for i in range(0, df.shape[0]):
    ndf = pd.DataFrame(df[i: i + 10].values.flatten(), columns).T
    tdf = pd.concat([tdf, ndf])

最后重置索引

df = tdf.reset_index(drop=True)


推荐阅读