在Pandas中将列转换为字符串

我从SQL查询中获得以下DataFrame:

(Pdb) pp total_rows

ColumnID RespondentCount

0 -1 2

1 3030096843 1

2 3030096845 1

我想像这样旋转它:

total_data = total_rows.pivot_table(cols=['ColumnID'])

(Pdb) pp total_data

ColumnID -1 3030096843 3030096845

RespondentCount 2 1 1

[1 rows x 3 columns]

total_rows.pivot_table(cols=['ColumnID']).to_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(因此将键转换为字符串):

In [11]: df = pd.DataFrame([['A', 2], ['A', 4], ['B', 6]])

In [12]: df.to_json()

Out[12]: '{"0":{"0":"A","1":"A","2":"B"},"1":{"0":2,"1":4,"2":6}}'

In [13]: df[0].to_json()

Out[13]: '{"0":"A","1":"A","2":"B"}'

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

以上是 在Pandas中将列转换为字符串 的全部内容, 来源链接: utcz.com/qa/423520.html

回到顶部