Python的新手。 如何按每一行拆分数据框并创建一个包含标题的新数据框。
我的最终目标是使用docx库将从数据框创建的数据表放入word中。
当前datafranme的外观示例:
x y z
1 4 5
4 2 4
3 5 5
我要创建的内容:
x y z
1 4 5
x y z
4 2 4
答案 0 :(得分:3)
在iloc中使用列表理解
l = [df.iloc[[i], :] for i in range(len(df))]
print(l[0])
x y z
0 1 4 5
注意:由于我们是从单个行创建一个DataFrame,因此df.iloc [i,:]将返回一个序列,而df.iloc [[i],:]将返回一个DataFrame。
答案 1 :(得分:1)
使用DataFrame.iterrows
创建列表理解。列表中的每个元素将是一行DataFrame,包括标题:
frame_list = [pd.DataFrame([x]) for i, x in df.iterrows()]
或者是dict理解,键是原始DataFrame的索引:
frame_dict = {i:pd.DataFrame([x]) for i, x in df.iterrows()}
答案 2 :(得分:0)
您可以像这样遍历DataFrame:
for idx, row in df.iterrows():
_df = pd.DataFrame([row])
# Add your processing here
答案 3 :(得分:0)
您可以执行此操作,然后将数据写入docx。
data = []
for index, row in df.iterrows():
data.append(df.columns.values)
data.append(row.tolist())