簡體   English   中英

Pandas Dataframe 到帶分隔符的字符串

[英]Pandas Dataframe to String with separator

我想把 dataframe 變成一個字符串。 這個主題如何將 pandas dataframe 行轉換為逗號分隔的字符串接近我想要的。 此解決方案的唯一問題:我有一個帶有分隔符的字符串的“國家/地區”列(例如,使用此解決方案,dataframe 正在轉換為字符串,但我的“美國”變成了“美國,美國”)所以目前我只有以下代碼:

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')

但是對於像這樣的 dataframe:

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') 

但這並不是一個很好的解決方案,因為每次有空間的新國家到來,我都必須更新腳本

(最終目標是將 dataframe 轉換為 utf-8 中的字符串,以允許計算它的 md5,而不使用 df.to_csv() 並計算創建文件的 md5,如果你有比這個技巧更好的方法,它也可以幫助我) 謝謝!

我想將數據框轉換為字符串。 本主題如何將pandas數據框行轉換為逗號分隔的字符串,這與我想要的很接近。 此解決方案的唯一問題:我有一個帶有字符串且帶有分隔符的“國家”列(例如,使用此解決方案,數據幀正在轉換為字符串,但我的“美國”已變成“美國,州”)所以目前我只有以下代碼:

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') 

但這並不是一個很好的解決方案,因為每當一個有空間的新國家來臨時,我都必須更新腳本

(最終目標是將數據幀轉換為utf-8中的字符串,以便無需使用df.to_csv()即可計算其md5並計算所創建文件的md5,如果您有比此技巧更好的方法,也可以幫幫我)謝謝!

我想將數據框轉換為字符串。 本主題如何將pandas數據框行轉換為逗號分隔的字符串,這與我想要的很接近。 此解決方案的唯一問題:我有一個帶有字符串且帶有分隔符的“國家”列(例如,使用此解決方案,數據幀正在轉換為字符串,但我的“美國”已變成“美國,州”)所以目前我只有以下代碼:

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') 

但這並不是一個很好的解決方案,因為每當一個有空間的新國家來臨時,我都必須更新腳本

(最終目標是將數據幀轉換為utf-8中的字符串,以便無需使用df.to_csv()即可計算其md5並計算所創建文件的md5,如果您有比此技巧更好的方法,也可以幫幫我)謝謝!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM