gpt4 book ai didi

python - Pandas Dataframe 到键值对和 csv 格式

转载 作者:行者123 更新时间:2023-11-28 18:14:49 25 4
gpt4 key购买 nike

我有一个如下所示的数据框。

df1 = pd.DataFrame({'a': [1, 20],
'b': [10, 200],
'c': [100, 300]})
print(df1)


a b c
0 1 10 100
1 20 200 300

我想要这两种格式 -格式 1-

0, a, 1
0, b, 10
0, c, 100

1, a, 20
1, b, 200
1, c, 300

格式 2-

a=1
b=10
c=100

a=20
b=200
c=300

我可以转换为 dict 并进行一些迭代,但不确定这是否是最佳方法。

df1.to_dict()
{'a': {0: 1, 1: 20},
'b': {0: 10, 1: 200},
'c': {0: 100, 1: 300}
}

我怎样才能改变这个-

0       a=1
1 b=10
2 c=100
3 a=20
4 b=200
5 c=300

回到

        a    b    c
0 1 10 100
1 20 200 300

最佳答案

IIUC,因为列名对你不重要,所以我不会改变它

s=df1.stack().reset_index()
s
Out[140]:
level_0 level_1 0
0 0 a 1
1 0 b 10
2 0 c 100
3 1 a 20
4 1 b 200
5 1 c 300
New=s.level_1+'='+s[0].astype(str)
New
Out[142]:
0 a=1
1 b=10
2 c=100
3 a=20
4 b=200
5 c=300
dtype: object

转换回来

s=s.str.split('=',expand=True)

s.assign(i=s.groupby(0).cumcount()).pivot('i',0,1)
Out[208]:
0 a b c
i
0 1 10 100
1 20 200 300

关于python - Pandas Dataframe 到键值对和 csv 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49014811/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com