pandas 列表合并为单行的数据框

mspsb9vt  于 2023-03-16  发布在  其他
关注(0)|答案(2)|浏览(186)

输入:
| 批次|识别号|价值观|
| - ------|- ------|- ------|
| 美国广播公司|[十二万三千四百五十六]|[0.01、0.02]|
| DEF|[六十五万四千三百二十一]|[0.03、0.04]|
预期结果:
| 批次|识别号|价值观|
| - ------|- ------|- ------|
| [ABC,DEF]|[[123,456]、[654,321]]|[[0.01、0.02]、[0.03、0.04]]|

5cg8jx4n

5cg8jx4n1#

使用agg

>>> df.agg(lambda x: [x.tolist()])

          LOT                      ID                      VALUES
0  [ABC, DEF]  [[123,456], [654,321]]  [[0.01,0.02], [0.03,0.04]]
at0kjp5o

at0kjp5o2#

将值转换为numpy数组,然后转换为list并传递给DataFrame构造函数:

df1 = pd.DataFrame([df.T.to_numpy().tolist()], columns=df.columns)
print (df1)
          LOT                      ID                      VALUES
0  [ABC, DEF]  [[123,456], [654,321]]  [[0.01,0.02], [0.03,0.04]]

或者使用字典理解:

df1 = pd.DataFrame({x: [df[x].tolist()] for x in df.columns})

相关问题