作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个如下所示的数组:
{'loc.1': array([ 1,2,3,4,7,5,6]),'loc.2': array([ 3,4,3,7,7,8,6]),'loc.3': array([ 1,4,3,1,7,8,6]).....}
在 a = pd.DataFrame(array) 之后它看起来像这样:
loc.1 loc.2 loc.3
1 3 1
2 4 4
3 3 3
4 7 1
7 7 7
5 8 8
6 6 6
这就是我想要的:
Col1. Col.2
loc.1 1,2,3,4,7,5,6
loc.2 3,4,3,7,7,8,6
loc.3 1,4,3,1,7,8,6
我需要这种特殊格式,因为我希望随后与另一个表格连接。 Pandas 将是我的首选解决方案..
谢谢,如果这是一个愚蠢的问题,我们深表歉意。
最佳答案
首先在字典理解
中需要连接值。
然后对于 Series
使用:
a = pd.Series({k:','.join(v.astype(str)) for k, v in array.items()})
print (a)
loc.1 1,2,3,4,7,5,6
loc.2 3,4,3,7,7,8,6
loc.3 1,4,3,1,7,8,6
dtype: object
对于DataFrame
:
d = {k:','.join(v.astype(str)) for k, v in array.items()}
a = pd.DataFrame({'a': list(d.keys()), 'b': list(d.values())})
另一种解决方案是创建元组:
L = [(k, ','.join(v.astype(str))) for k, v in array.items()]
a = pd.DataFrame(L, columns=['a','b'])
print (a)
a b
0 loc.1 1,2,3,4,7,5,6
1 loc.2 3,4,3,7,7,8,6
2 loc.3 1,4,3,1,7,8,6
如果列中需要数组,则删除 join
并强制转换为 string
:
L = [(k, v) for k, v in array.items()]
a = pd.DataFrame(L, columns=['a','b'])
print (a)
a b
0 loc.1 [1, 2, 3, 4, 7, 5, 6]
1 loc.2 [3, 4, 3, 7, 7, 8, 6]
2 loc.3 [1, 4, 3, 1, 7, 8, 6]
关于python - 如何将数组格式化为 Pandas 中的特定数据帧格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49882324/
我是一名优秀的程序员,十分优秀!