gpt4 book ai didi

python - 可以使用字符串列创建稀疏的 Pandas DataFrame 吗?

转载 作者:太空宇宙 更新时间:2023-11-03 11:53:35 26 4
gpt4 key购买 nike

是否可以创建一个稀疏的 Pandas DataFrame,其中的列既包含 float 又包含字符串?即,我有一个数据框:

df2 = pd.DataFrame({'A':[0., 1., 2., 0.], 
'B': ['a','b','c','d']}, columns=['A','B'])

我想将其转换为稀疏数据帧,但 df2.to_sparse(fill_value=0.) 给出:

ValueError: could not convert string to float: d

有什么方法可以让它工作吗?

最佳答案

你可以做的是将你的字符串映射到整数/ float ,并将你的列 B 映射到它们的字典查找值到一个新的列 C 中,然后像这样创建稀疏数据框:

temp={}
# we want just the unique values here for the dict
for x in enumerate(df2['B'].unique().tolist()):
val, key = x
temp[key]=val
temp

Out[106]:
{'a': 0, 'b': 1, 'c': 2, 'd': 3}

# now add this column

In [108]:

df2['C']=df2['B'].map(temp)
df2
Out[108]:
A B C
0 0 a 0
1 1 b 1
2 2 c 2
3 0 d 3

# now pass the two columns to create the sparse matrix:

In [109]:

df2[['A', 'C',]].to_sparse(fill_value=0)
Out[109]:
A C
0 0 0
1 1 1
2 2 2
3 0 3

关于python - 可以使用字符串列创建稀疏的 Pandas DataFrame 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19560697/

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