发布于 2022-11-26 23:25:35
给出一个简单的数据框架:
0 1 2 3
0 1 2.0 4 1.0
1 2 3.0 r NaN
2 3 NaN 6 NaN
使用以下方法创建了一个单列数据格式:
import pandas as pd
import numpy as np
df = pd.read_csv('test.csv',header=None,sep=";")
joined = pd.concat([df[column].dropna() for column in df.columns], ignore_index=True).to_frame()
虽然我真的不理解数据集中重复数据的需要,但是对于下一步,我将遍历初始的dataframe列来获得索引,追加一个空列并通过位置赋值替换所需的值。
initial = 0
for column in df.columns:
cols = len(joined.columns)
joined[cols] = np.nan
bit = df[column].dropna()
final = initial + len(bit)
joined.iloc[initial:final, column+1] = bit
initial = final
由此产生的joined
DataFrame:
0 1 2 3 4
0 1 1.0 NaN NaN NaN
1 2 2.0 NaN NaN NaN
2 3 3.0 NaN NaN NaN
3 2.0 NaN 2.0 NaN NaN
4 3.0 NaN 3.0 NaN NaN
5 4 NaN NaN 4 NaN
6 r NaN NaN r NaN
7 6 NaN NaN 6 NaN
8 1.0 NaN NaN NaN 1.0
https://stackoverflow.com/questions/74585358
复制相似问题