小编Ame*_*ina的帖子

将DataFrame保存为CSV时指定文件名

假设我有一个Spark DF,我想将其保存到磁盘CSV文件.在Spark 2.0.0+中,可以转换DataFrame(DataSet[Rows])为a DataFrameWriter并使用该.csv方法来编写文件.

该功能定义为

def csv(path: String): Unit
    path : the location/folder name and not the file name.
Run Code Online (Sandbox Code Playgroud)

Spark将csv文件存储在指定位置,方法是创建名称为part - *.csv的CSV文件.

有没有办法用指定的文件名而不是部分保存CSV - *.csv?或者可以指定前缀而不是part-r?

代码:

df.coalesce(1).write.csv("sample_path")
Run Code Online (Sandbox Code Playgroud)

电流输出:

sample_path
|
+-- part-r-00000.csv
Run Code Online (Sandbox Code Playgroud)

期望的输出:

sample_path
|
+-- my_file.csv
Run Code Online (Sandbox Code Playgroud)

注意: coalesce函数用于输出单个文件,执行程序有足够的内存来收集DF而没有内存错误.

csv scala apache-spark pyspark

24
推荐指数
1
解决办法
3万
查看次数

MATLAB:.mat版本之间的差异

官方文件规定如下:

在此输入图像描述.但我注意到除了上表中所述的其他重要区别之外.

例如,在MATLAB中保存一个占用176 MB内存的大约6,000个元素的单元格数组,根据我是使用-v7还是-v7.3,给出了以下结果:

  • 使用-v7:文件大小= 15 MB,保存和加载速度很快.
  • 使用-v7.3:文件大小= 400 MB,保存和加载非常 (可能部分原因是文件很大).

有没有人注意到这些差异?

更新1:正如回复指出的那样,-v7.3依赖于HDF5并且根据Mathworks,"这种格式具有显着的存储开销",尽管不清楚这种开销是否真的是由于格式本身,还是由于MATLAB相反,实现和处理HDF5.

更新2:@Andrew Janke向我们指出了这个非常有用的PDF(显然在网上没有HTML格式).有关更多详细信息,请参阅@Amro提供的答案中的注释.

这一切都需要我下一个问题:是否有任何替代方案,结合了两者的优点(如效率-V7和处理大量文件的能力- 7.3版)?

matlab hdf5 mat-file

23
推荐指数
1
解决办法
1万
查看次数

要求Emacs更清楚地突出显示哪个窗口(窗格)具有焦点(光标)

假设我将我的Emacs窗口拆分为多个图块,例如:

---------------------------
|            |            |
|            |            |
---------------------------
|                         |
|                         |
---------------------------
Run Code Online (Sandbox Code Playgroud)

当我在瓷砖(也就是Emacs中的窗口)之间切换以编辑我的文件(例如使用C-x o)时,我可以通过在屏幕上直观地找到光标(点)并检查状态栏中的阴影区别来查看我在哪个瓷砖上.每个瓷砖:

但是,将光标定位在大屏幕上并不容易,并且光标所在状态栏上的阴影差异几乎可以忽略不计:

这是选择相应窗口时状态栏的样子:

              IMG1

这是选择相应窗口时的样子(注意绿色有点暗)

              在此输入图像描述

以上是与颜色主题zenburn在GNU Emacs的23.3.1.

我的问题是:有没有办法让Emacs更清楚地指出哪个窗口/磁贴/缓冲区是具有焦点的窗口/磁贴/缓冲区?

emacs

23
推荐指数
2
解决办法
4768
查看次数

在GitHub wiki中搜索关键字

我想在GitHub wiki上搜索任何特定关键字的提及.

有没有办法做到这一点?

wiki github

23
推荐指数
2
解决办法
5528
查看次数

迭代地写入Pandas的HDF5商店

大熊猫对如何存储下面的例子Series,DataFramesPanels在HDF5文件:

准备一些数据:

In [1142]: store = HDFStore('store.h5')

In [1143]: index = date_range('1/1/2000', periods=8)

In [1144]: s = Series(randn(5), index=['a', 'b', 'c', 'd', 'e'])

In [1145]: df = DataFrame(randn(8, 3), index=index,
   ......:                columns=['A', 'B', 'C'])
   ......:

In [1146]: wp = Panel(randn(2, 5, 4), items=['Item1', 'Item2'],
   ......:            major_axis=date_range('1/1/2000', periods=5),
   ......:            minor_axis=['A', 'B', 'C', 'D'])
   ......:
Run Code Online (Sandbox Code Playgroud)

将其保存在商店中:

In [1147]: store['s'] = s

In [1148]: store['df'] = df

In [1149]: store['wp'] = wp
Run Code Online (Sandbox Code Playgroud)

检查商店里的东西:

In [1150]: store …
Run Code Online (Sandbox Code Playgroud)

python io hdf5 pytables pandas

23
推荐指数
1
解决办法
2万
查看次数

捕获statsmodels中的高多重共线性

说我在statsmodels中适合模型

mod = smf.ols('dependent ~ first_category + second_category + other', data=df).fit()
Run Code Online (Sandbox Code Playgroud)

当我这样做时,mod.summary()我可能会看到以下内容:

Warnings:
[1] The condition number is large, 1.59e+05. This might indicate that there are
strong multicollinearity or other numerical problems.
Run Code Online (Sandbox Code Playgroud)

有时警告是不同的(例如,基于设计矩阵的特征值).如何在变量中捕获高多重共线性条件?此警告是否存储在模型对象的某处?

另外,我在哪里可以找到字段的描述summary()

python statistics scipy statsmodels

23
推荐指数
2
解决办法
2万
查看次数

MATLAB中[]和[1x0]之间的差异

我在MATLAB中有一个循环,用我的工作区(2011b,Windows 7,64位)填充单元格数组,其中包含以下条目:

my_array = 
    [1x219 uint16]
    [         138]
    [1x0   uint16] <---- row #3
    [1x2   uint16]
    [1x0   uint16]
    []             <---- row #6
    [         210]
    [1x7   uint16]
    [1x0   uint16]
    [1x4   uint16]
    [1x0   uint16]
    [         280]
    []
    []
    [         293]
    [         295]
    [1x2   uint16]
    [         298]
    [1x0   uint16]
    [1x8   uint16]
    [1x5   uint16]
Run Code Online (Sandbox Code Playgroud)

请注意,某些条目保留[],如行#6,而其他[1x0]条目保存项目,如行#3.

  1. 它们之间有什么区别吗?(除了MATLAB以不同方式显示它们的事实).MATLAB在内存中如何表示它们的差异?
  2. 如果区别仅在于MATLAB内部如何表示它们,为什么程序员应该意识到这种差异呢?(即为什么以不同的方式显示它们?).它是一个(无害的)bug吗?或是否有任何好处在明知这样的阵列被表示不同?

matlab matrix

22
推荐指数
2
解决办法
1万
查看次数

CEDET和ECB在Emacs中的地位24.2

我对在Emacs 24.2.1中运行CEDET和ECB需要做些什么感到困惑.

Emacswiki 有以下文字:

如何启用与Emacs合并的CEDET工具

在Emacs 23.2中,CEDET被合并到主要的Emacs发行版中.CEDET教程中解释的配置代码不再起作用.例如,您不能使用(semantic-load-enable-gaudy-code-helpers)来启用有用的功能.

TODO:请说明加载CEDET提供的最有用的IDE工具所需的代码

我有一个基本配置来处理我的.emacs中的以下内容:

(global-ede-mode 1)
(require 'semantic/sb)
(semantic-mode 1)
Run Code Online (Sandbox Code Playgroud)
  • Q1: CEDET和ECB现在是否与Emacs捆绑在一起?如果是这样,为什么有一个单独的Sourceforge项目呢?
  • Q2:如何在Emacs 24.2中启用CEDET和ECB?我是否仍需要从各自的网站下载源代码并单独安装?

emacs cedet emacs-ecb

22
推荐指数
2
解决办法
1万
查看次数

熊猫:子索引数据帧:副本与视图

说我有一个数据帧

import pandas as pd
import numpy as np
foo = pd.DataFrame(np.random.random((10,5)))
Run Code Online (Sandbox Code Playgroud)

我从我的数据子集创建另一个数据帧:

bar = foo.iloc[3:5,1:4]
Run Code Online (Sandbox Code Playgroud)

确实bar持有这些元素的副本foo?有没有办法创建view这些数据呢?如果是这样,如果我尝试修改此视图中的数据会发生什么?Pandas是否提供任何类型的写时复制机制?

python pandas chained-assignment

22
推荐指数
1
解决办法
9416
查看次数

matplotlib中的图和轴方法

说我有以下设置:

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(5)
y = np.exp(x)
fig1 = plt.figure()
ax1 = fig1.add_subplot(111)
ax1.plot(x, y)
Run Code Online (Sandbox Code Playgroud)

我想为情节(或子情节)添加标题.

我试过了:

> fig1.title('foo')
AttributeError: 'Figure' object has no attribute 'title'
Run Code Online (Sandbox Code Playgroud)

> ax1.title('foo')
 TypeError: 'Text' object is not callable
Run Code Online (Sandbox Code Playgroud)

如何使用matplotlib的面向对象编程接口来设置这些属性?

更一般地说,在哪里可以找到matplotlib中的类层次结构及其相应的方法?

python matplotlib

22
推荐指数
1
解决办法
2万
查看次数