当我打印一个numpy数组时,我得到一个截断的表示,但我想要完整的数组.
有没有办法做到这一点?
例子:
>>> numpy.arange(10000)
array([ 0, 1, 2, ..., 9997, 9998, 9999])
>>> numpy.arange(10000).reshape(250,40)
array([[ 0, 1, 2, ..., 37, 38, 39],
[ 40, 41, 42, ..., 77, 78, 79],
[ 80, 81, 82, ..., 117, 118, 119],
...,
[9880, 9881, 9882, ..., 9917, 9918, 9919],
[9920, 9921, 9922, ..., 9957, 9958, 9959],
[9960, 9961, 9962, ..., 9997, 9998, 9999]])
Run Code Online (Sandbox Code Playgroud) 我在Ubuntu上使用PostgreSQL 8.4.我有一个列的表c1通过cN.列足够宽,选择所有列会导致一行查询结果多次换行.因此,输出难以阅读.
当查询结果只构成几行时,如果我可以查看查询结果以使每行的每列都在一个单独的行上,那将会很方便,例如
c1: <value of row 1's c1>
c2: <value of row 1's c1>
...
cN: <value of row 1's cN>
---- some kind of delimiter ----
c1: <value of row 2's c1>
etc.
Run Code Online (Sandbox Code Playgroud)
我在服务器上运行这些查询,我不想安装任何其他软件.是否有psql设置可以让我做那样的事情?
该程序应该采用两个名称,如果它们的长度相同,则应检查它们是否是同一个单词.如果它是相同的单词,它将打印"名称相同".如果它们长度相同但字母不同,则会打印"名称不同但长度相同".我遇到问题的部分是在底部4行.
#!/usr/bin/env python
# Enter your code for "What's In (The Length Of) A Name?" here.
name1 = input("Enter name 1: ")
name2 = input("Enter name 2: ")
len(name1)
len(name2)
if len(name1) == len(name2):
if name1 == name2:
print ("The names are the same")
else:
print ("The names are different, but are the same length")
if len(name1) > len(name2):
print ("'{0}' is longer than '{1}'"% name1, name2)
elif len(name1) < len(name2):
print ("'{0}'is longer than '{1}'"% …Run Code Online (Sandbox Code Playgroud) 我使用spark-csv将数据加载到DataFrame中.我想做一个简单的查询并显示内容:
val df = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").load("my.csv")
df.registerTempTable("tasks")
results = sqlContext.sql("select col from tasks");
results.show()
Run Code Online (Sandbox Code Playgroud)
col似乎被截断了:
scala> results.show();
+--------------------+
| col|
+--------------------+
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-06 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:21:...|
|2015-11-16 07:21:...|
|2015-11-16 07:21:...|
+--------------------+
Run Code Online (Sandbox Code Playgroud)
如何显示列的完整内容?
R中有一个选项可以控制数字显示.例如:
options(digits=10)
Run Code Online (Sandbox Code Playgroud)
应该给计算结果10位数,直到R会话结束.在R的帮助文件中,digits参数的定义如下:
digits:控制打印数值时要打印的位数.这只是一个建议.有效值为1 ... 22,默认值为7
所以,它说这只是一个建议.如果我想总是显示10位数而不是更多或更少,该怎么办?
我的第二个问题是,如果我想显示超过22位数,即更精确的计算如100位数,该怎么办?是否可以使用基础R,或者我是否需要额外的包/功能?
编辑:感谢jmoy的建议,我尝试了sprintf("%.100f",pi)它给了
[1] "3.1415926535897931159979634685441851615905761718750000000000000000000000000000000000000000000000000000"
Run Code Online (Sandbox Code Playgroud)
它有48位小数.这是R可以处理的最大限制吗?
我想将一个长字符串打印到RStudio控制台,以便它不会被截断.
> paste(1:300, letters, collapse=" ")
[1] "1 a 2 b 3 c 4 d 5 e 6 f 7 g 8 h 9 i
...
181 y 182 z 183 a 184 b... <truncated>
Run Code Online (Sandbox Code Playgroud)
我认为这应该相当简单,但我无法弄清楚如何.我试过了
options(max.print = 10000)
Run Code Online (Sandbox Code Playgroud)
并查看了print帮助页面上的args .仍然没有运气.
我必须更改哪些参数/设置才能实现此目的?
在处理数据时(例如,在data.frame中),用户可以通过使用来控制显示数字
options(digits=3)
Run Code Online (Sandbox Code Playgroud)
并列出data.frame这样的.
ttf.all
Run Code Online (Sandbox Code Playgroud)
当用户需要像这样在Excell中粘贴数据时
write.table(ttf.all, 'clipboard', sep='\t',row.names=F)
Run Code Online (Sandbox Code Playgroud)
数字参数被忽略,数字不会舍入.
看到好的输出
> ttf.all
year V1.x.x V1.y.x ratio1 V1.x.y V1.y.y ratioR V1.x.x V1.y.x ratioAL V1.x.y V1.y.y ratioRL
1 2006 227 645 35.2 67 645 10.4 150 645 23.3 53 645 8.22
2 2007 639 1645 38.8 292 1645 17.8 384 1645 23.3 137 1645 8.33
3 2008 1531 3150 48.6 982 3150 31.2 755 3150 24.0 235 3150 7.46
4 2009 1625 3467 46.9 1026 3467 29.6 779 3467 22.5 222 3467 …Run Code Online (Sandbox Code Playgroud) 我正在使用以下代码创建数据框:
df <- data.frame(dbGetQuery(con, paste('select * from test')))
Run Code Online (Sandbox Code Playgroud)
结果如下:
UID BuildingCode AccessTime
1 123456 BUILD-1 2014-06-16 07:00:00
2 364952 BUILD-2 2014-06-15 08:00:00
3 95865 BUILD-1 2014-06-06 09:50:00
Run Code Online (Sandbox Code Playgroud)
然后我试图删除的建议行名称(1,2,3等),在这里通过使用此代码:
rownames(df) <- NULL
Run Code Online (Sandbox Code Playgroud)
但是当我打印出来时,df它仍然显示行名称.有没有办法在创建数据框时不包括行名?我找到了一个建议,row.name = FALSE但是当我尝试它时,我只是遇到错误(我可能把它放在了错误的地方).
编辑:我想要做的是将日期框架转换为HTML表格,我不希望行名称出现在表格中.
我想在漫长的运行算法中输出进度指示器.我可以轻松地从我的算法中"冒泡"一个进度值(例如,通过专门为此目的调用提供的函数回调),但困难在于实际的文本输出过程.每次调用print都会创建一个新行,每行都有一个前缀[1].
有没有办法在不同时刻打印,而不会引入换行符?
具体来说,我希望实现一个"动画",如果在两个不同的时间观察,它将如下所示.
0%...
Run Code Online (Sandbox Code Playgroud)
...
0%...2%...4%...
Run Code Online (Sandbox Code Playgroud) data.table有一个很好的功能,可以抑制输出到表的头部和尾部.
是否可以一次查看/打印超过100行?
library(data.table)
## Convert the ubiquitous "iris" data to a data.table
dtIris = as.data.table(iris)
## Printing 100 rows is possible
dtIris[1:100, ]
## Printing 101 rows is truncated
dtIris[1:101, ]
Run Code Online (Sandbox Code Playgroud)
我经常有data.table结果,有点大(例如200行),我只想查看.