下面是pandas数据帧的示例,它是一个包含1000行的单列。
我需要第二列/第三列将数据放入第二列或第三列中的第1行和第2行、第4行和第5行等
0
0 \path_1file1.csv
1 23082022 DS
2 520i2146002
3 \path_2file2.csv
4 230822 NS
5 520i2146002
4 \path_3file3.csv
5 24082022 DS
6 520i2146002
所需输出
0 1 2
0 \path_1file1.csv 23082022 DS 520i2146002
1 \path_2file2.csv 230822 NS 520i2146002
2 \path_3file3.csv 24082022 DS 520i2146002
只能设法抽出赔率:
df = pd.DataFrame({0: df[0].iloc[::2].values, 'value': df[0].iloc[1::2].values})
建议?
从0、1和2开始,每隔三个值生成三个子集。重置每个子集的索引,并将它们全部连接在一起。
df = pd.concat([df.loc[::3].reset_index(drop=True),
df.loc[1::3].reset_index(drop=True),
df.loc[2::3].reset_index(drop=True)], axis=1, ignore_index=True)
print(df)
输出:
0 1 2
0 \path_1file1.csv 23082022 DS 520i2146002
1 \path_2file2.csv 230822 NS 520i2146002
2 \path_3file3.csv 24082022 DS 520i2146002
略为简洁:
df = pd.concat([df.loc[i::3].reset_index(drop=True) for i in range(3)],
axis=1, ignore_index=True)