将列转换为熊猫中的字符串

我从SQL查询中获得以下数据帧:

(Pdb)pp总行数
列ID响应计数
0          -1                2
1  3030096843                1
2  3030096845                1

我想像这样旋转它:

total\u data=total\u rows.pivot\u表(cols=['ColumnID'])
(Pdb)pp总数据
ColumnID-1 3030096843 3030096845
响应计数2 1 1
[1行x 3列]
总计行数。数据透视表(cols=['ColumnID'])。到dict('records')[0]
{3030096843: 1, 3030096845: 1, -1: 2}

但是我想确保303列被转换为字符串而不是整数,这样我就可以得到:

{'3030096843':1,'3030096845':1,-1:2}

转换为字符串的一种方法是使用astype:

total_rows['ColumnID']=total_rows['ColumnID'].astype(str)

但是,您可能正在寻找to_json函数,该函数将键转换为有效的json(从而将键转换为字符串):

[11]on

:df=pd.DataFrame([A',2],[A',4],[B',6]]
At[12]on:df.to_json()
[12]:“{”0:{”0:“A”,“1:“A”,“2:“B”},”1:{”0:2,“1:4”,“2:6}”
[13]on:df[0]。to_json()
[13]:“{0:“A”,“1:“A”,“2:“B”}”

注意:您可以传入一个缓冲区/文件以将其保存到,以及一些其他选项…

发表评论