python - 将结果编辑到表格中
问题描述
在下面的代码中,我尝试在代码中进行编辑,以更形象的方式输出结果,如下所示。寻求一些帮助。
import numpy as np
import math
for p in range(10):
x=10.0**-p;
result = np.float64((1-np.cos(x))/x)
print (p)
print (result)
Test = np.float64(2*np.sin(x/2)**2/x)
print (p)
print(Test)
给出以下结果:
0
0.459697694132
0
0.459697694132
1
0.0499583472197
1
0.0499583472197
2
0.00499995833347
2
0.00499995833347
3
0.000499999958326
3
0.000499999958333
4
4.99999996961e-05
4
4.99999999583e-05
5
5.0000004137e-06
5
4.99999999996e-06
6
5.00044450291e-07
6
5e-07
7
4.99600361081e-08
7
5e-08
8
0.0
8
5e-09
9
0.0
9
5e-10
但是,我正在尝试以更美观的方式输出结果。如何编辑我的代码以输出如下结果:
p Result Test
0 0.459697694132 0.459697694132
1 0.0499583472197 0.0499583472197
2 0.00499995833347 0.00499995833347
3 0.000499999958326 0.000499999958333
4 4.99999996961e-05 4.99999999583e-05
5 5.0000004137e-06 4.99999999996e-06
6 5.00044450291e-07 5e-07
7 4.99600361081e-08 5e-08
8 0.0 5e-09
9 1e-09 0.0 5e-10
解决方案
可以使用熊猫DataFrame
vals = []
for p in range(10):
x=10.0**-p;
result = np.float64((1-np.cos(x))/x)
test = np.float64(2*np.sin(x/2)**2/x)
vals.append((p, result, test))
然后
import pandas as pd
df = pd.DataFrame(vals, columns=['p', 'result', 'test'])
p result test
0 0 0.45969769 0.45969769
1 1 0.04995835 0.04995835
2 2 0.00499996 0.00499996
3 3 0.00050000 0.00050000
4 4 0.00005000 0.00005000
5 5 0.00000500 0.00000500
6 6 0.00000050 0.00000050
7 7 0.00000005 0.00000005
8 8 0.00000000 0.00000001
9 9 0.00000000 0.00000000
您也可以np.vectorize
使用方便:
def func(p):
x=10.0**-p;
result = np.float64((1-np.cos(x))/x)
test = np.float64(2*np.sin(x/2)**2/x)
return p, result, test
vals = np.vectorize(func)(np.arange(10))
pd.DataFrame(dict(zip(['p', 'result', 'test'], vals)))
推荐阅读
- angular - 当前模块路径的子节点返回“未定义”
- c# - 用户角色被创建,但刷新网页时网站崩溃
- c# - 即使在发送消息后,ShowTypingMiddleware 仍然显示指示器
- javascript - 单击 react-big-calendar 中的事件后显示弹出框
- excel - 使用 Application.Run 在另一个用户表单中调用用户表单的子例程
- excel - 用于查找和提取范围内匹配值的 VBA 代码
- java - 简化java枚举测试
- postgres-xl - 错误:分布式表的唯一索引必须包含散列分布列。什么时候从 postgresql 迁移到 postgresql-xl
- sql - 如何让 apache ignite 使用所有 CPU 进行 SQL 查询?
- linux - gitlab-runner 在 CI 中损坏,手动工作 - Debian 发布升级有问题?