gpt4 book ai didi

python - 如何使用 Pandas 在行内保存列表

转载 作者:行者123 更新时间:2023-11-28 22:30:44 25 4
gpt4 key购买 nike

我有一个数据框 df1 并且 A 列的每一行都包含一个数字列表,如下所示:

import pandas as pd
dic = {'A':[[0,2,5,464,64789,131,13],[1,454,45166,78],[6,8],[1],[7,8789,45,65]]}
df1 = pd.DataFrame(dic)

我的目标是将每一行保存在一个 .txt 文件中,以便它为每一行显示列表的内容。到目前为止,我能够通过使用以下代码行来实现它:

df1.to_csv('../ndb/_fede.txt',index=False, header=None)

但是输出文件有一些我不需要的引号和括号。

# What I get                       | # What I WANT!
"[0, 2, 5, 464, 64789, 131, 13]" | 0,2,5,464,64789,131,13
"[1, 454, 45166, 78]" | 1,454,45166,78
"[6, 8]" | 6,8
"[1]" | 1
"[7, 8789, 45, 65]" | 7,8789,45,65

基本上我想要的是每个列表的所有数字都用逗号分隔,没有其他字符。

注意:如果需要,您也可以将df1 转换成数组。

最佳答案

通过 split 将更简单的解决方案转换为 str 并删除 [] :

df1.A = df1.A.astype(str).str.strip('[]')
print (df1)
A
0 0, 2, 5, 464, 64789, 131, 13
1 1, 454, 45166, 78
2 6, 8
3 1
4 7, 8789, 45, 65

如果需要删除空格:

df1.A = df1.A.astype(str).str.strip('[]').str.replace('\s+', '')
print (df1)
A
0 0,2,5,464,64789,131,13
1 1,454,45166,78
2 6,8
3 1
4 7,8789,45,65

如果只需要保存一列,最简单的就是更改默认分隔符,,因为分隔符,和列中的值是,,所以" 添加:

print (df1.to_csv(index=False, header=None, sep="|"))
0,2,5,464,64789,131,13
1,454,45166,78
6,8
1
7,8789,45,65

关于python - 如何使用 Pandas 在行内保存列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41997697/

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