>新手到Python。如何按每行拆分数据框并创建一个包含标题的新数据框。
我的最终目标是使用 docx 库将数据表(从数据帧创建(放入 Word 中。
当前数据弗兰姆的外观示例:
x y z
1 4 5
4 2 4
3 5 5
我想创造什么:
x y z
1 4 5
x y z
4 2 4
使用 iloc 的列表理解
l = [df.iloc[[i], :] for i in range(len(df))]
print(l[0])
x y z
0 1 4 5
注意:由于我们从单行创建数据帧,df.iloc[i, :] 将返回一个系列,而 df.iloc[[i], :] 将返回一个数据帧。
使用 DataFrame.iterrows
创建列表推导式。列表中的每个元素都是一行数据帧,标头包括:
frame_list = [pd.DataFrame([x]) for i, x in df.iterrows()]
或者,字典理解,键是原始数据帧中的索引:
frame_dict = {i:pd.DataFrame([x]) for i, x in df.iterrows()}
您可以
像这样循环访问数据帧:
for idx, row in df.iterrows():
_df = pd.DataFrame([row])
# Add your processing here
您可以执行此操作,然后将数据写入文档。
data = []
for index, row in df.iterrows():
data.append(df.columns.values)
data.append(row.tolist())