转置并保存一列 pandas 数据框
Transpose and save a one column pandas dataframe
我删除了 pandas 数据帧中除一行以外的所有数据,然后 pandas 自动将其转置。然后我尝试将其重新转置(并最终想将其保存为 .csv)但没有效果。
我想要的最终结果是:
df3:
col1 col2 col3
2 7 5
而不是
df3:
col1 2
col2 7
col3 5
在保存的 .csv 文件中我想要:
,col1,col2,col3
1,2,7,5
,1
col1,2
col2,7
col3,5
这是脚本:
import pandas as pd
d1 = {
'col1': [1, 2],
'col2': [4, 7],
'col3': [8, 5],
}
df1 = pd.DataFrame(data=d1)
df2 = df1.loc[df1.loc[:,"col2"].idxmax(),:]
df3 = df2.transpose() # df2.That
print(df1)
print(df2)
print("df3:")
print(df3)
df3.to_csv("df3.csv")
在你的情况下to_frame
df3.to_frame().T
您可以使用:
df1[df1.index == df1['col2'].idxmax()]
或者保持你的逻辑:
df1.loc[df1['col2'].idxmax()].to_frame().T
输出:
col1 col2 col3
1 2 7 5
我删除了 pandas 数据帧中除一行以外的所有数据,然后 pandas 自动将其转置。然后我尝试将其重新转置(并最终想将其保存为 .csv)但没有效果。
我想要的最终结果是:
df3:
col1 col2 col3
2 7 5
而不是
df3:
col1 2
col2 7
col3 5
在保存的 .csv 文件中我想要:
,col1,col2,col3
1,2,7,5
,1
col1,2
col2,7
col3,5
这是脚本:
import pandas as pd
d1 = {
'col1': [1, 2],
'col2': [4, 7],
'col3': [8, 5],
}
df1 = pd.DataFrame(data=d1)
df2 = df1.loc[df1.loc[:,"col2"].idxmax(),:]
df3 = df2.transpose() # df2.That
print(df1)
print(df2)
print("df3:")
print(df3)
df3.to_csv("df3.csv")
在你的情况下to_frame
df3.to_frame().T
您可以使用:
df1[df1.index == df1['col2'].idxmax()]
或者保持你的逻辑:
df1.loc[df1['col2'].idxmax()].to_frame().T
输出:
col1 col2 col3
1 2 7 5