gpt4 book ai didi

python - 带分隔符的 Pandas Dataframe 到 String

转载 作者:太空宇宙 更新时间:2023-11-04 09:23:12 36 4
gpt4 key购买 nike

我想将数据框转换为字符串。本主题How to turn a pandas dataframe row into a comma separated string接近我想要的。此解决方案的唯一问题:我有一个带有分隔符的字符串的“国家/地区”列(例如,使用此解决方案,数据框正在转换为字符串,但我的“美国”变成了“美国,美国”)所以目前我只有以下代码:

df = df.to_string(index=False).split('\n')
df = [','.join(ele.split()) for ele in df]
df = '\r\n'.join(df)
df = df.encode('utf8')

但对于像这样的数据框:

data = [['United States', 10, 12], ['United Kingdom', 15, 25], ['France', 14, 18]] 
df = pd.DataFrame(data, columns = ['Country', 'Number1', 'Number2'])

我会的

b'Country,Number1,Number2\r\nUnited,States,10,12\r\n,United,Kingdom,15,25\r\nFrance,14,18'

代替:

b'Country,Number1,Number2\r\nUnited States,10,12\r\n,United Kingdom,15,25\r\nFrance,14,18'

目前我已经解决了很多问题:

df= df.replace('United,States', 'United States') 

但这不是一个很好的解决方案,因为每次出现一个有空间的新国家时,我都必须更新脚本<​​/p>

(最终目标是将 dataframe 转换为 utf-8 中的字符串以允许计算它的 md5 ,而不使用 df.to_csv() 并计算创建的文件的 md5,如果你有比这个技巧更好的方法它也可以帮助我)谢谢!

最佳答案

data = [['United States', 10, 12], ['United Kingdom', 15, 25], ['France', 14, 18]]
df = pd.DataFrame(data, columns = ['Country', 'Number1', 'Number2'])

df = df.to_csv(header=None, index=False).strip('\n').split('\n')
df_string = '\r\n'.join(df) # <= this is the string that you can use with md5
df_bytes = df_string.encode('utf8') # <= this is bytes object to write the file
print(df_bytes)

使用df_stringmd5df_bytes 写入文件。

df_bytes 包含这个:

b'美国,10,12\r\n英国,15,25\r\n法国,14,18'

关于python - 带分隔符的 Pandas Dataframe 到 String,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59054403/

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