小编Kor*_*ain的帖子

将Panda Dataframes写入块中的csv文件

我有一组大数据文件(1M行x 20列).但是,我只对5个左右的数据列感兴趣.

我想我可以通过仅使用感兴趣的列创建这些文件的副本来使我更容易,所以我有较小的文件可用于后期处理.

我的计划是将文件读入数据帧,然后写入csv文件.

我一直在研究将大块的数据文件读入数据帧.

但是,我还没有找到任何关于如何将数据写入块中的csv文件的内容.

这是我现在正在尝试的,但这不附加csv文件:

with open(os.path.join(folder, filename), 'r') as src:
    df = pd.read_csv(src, sep='\t',skiprows=(0,1,2),header=(0), chunksize=1000)
    for chunk in df:
        chunk.to_csv(os.path.join(folder, new_folder,
                                  "new_file_" + filename), 
                                  columns = [['TIME','STUFF']])
Run Code Online (Sandbox Code Playgroud)

python large-data dataframe export-to-csv pandas

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

在虚拟机上运行时如何查看Dask仪表板?

这是我现在正在做的事情:

  • 从我的 Windows 笔记本电脑上,我通过 Putty SSH 到 Linux 服务器:IP 地址是11.11.11.111
  • 启动 Jupyter 笔记本:nohup jupyter notebook --ip=0.0.0.0 --no-browser &

    • 终端输出显示 Jupyter 笔记本正在运行:
    • http://(11.11.11.111 or 127.0.0.1):8889/?token=blahblahblah
  • 在新笔记本中启动单机客户端:

    from dask.distributed import Client
    client = Client()
    
    Run Code Online (Sandbox Code Playgroud)

打印client显示仪表板位于http://127.0.0.1:8787/status,但是,我在该 URL 处找不到仪表板。我也尝试过http://11.11.11.111:8787/status,但也没有成功。

我仍然可以使用 Dask Dataframes 运行笔记本中的所有内容,但我就是不知道如何查看仪表板。Bokeh安装在服务器上,我通过 Anaconda 运行 Jupyter Notebook。

linux centos virtual-machine python-3.x dask

6
推荐指数
1
解决办法
5711
查看次数

Google Cloud Data Fusion——从 REST API 端点源构建管道

尝试构建管道以从 3rd 方 REST API 端点数据源读取。

我正在使用 Hub 中的 HTTP(1.2.0 版)插件。

响应请求 URL 是: https://api.example.io/v2/somedata?return_count=false

响应体示例:

{
  "paging": {
    "token": "12456789",
    "next": "https://api.example.io/v2/somedata?return_count=false&__paging_token=123456789"
  },
  "data": [
    {
      "cID": "aerrfaerrf",
      "first": true,
      "_id": "aerfaerrfaerrf",
      "action": "aerrfaerrf",
      "time": "1970-10-09T14:48:29+0000",
      "email": "example@aol.com"
    },
    {...}
  ]
}
Run Code Online (Sandbox Code Playgroud)

日志中的主要错误是:

java.lang.NullPointerException: null
    at io.cdap.plugin.http.source.common.pagination.BaseHttpPaginationIterator.getNextPage(BaseHttpPaginationIterator.java:118) ~[1580429892615-0/:na]
    at io.cdap.plugin.http.source.common.pagination.BaseHttpPaginationIterator.ensurePageIterable(BaseHttpPaginationIterator.java:161) ~[1580429892615-0/:na]
    at io.cdap.plugin.http.source.common.pagination.BaseHttpPaginationIterator.hasNext(BaseHttpPaginationIterator.java:203) ~[1580429892615-0/:na]
    at io.cdap.plugin.http.source.batch.HttpRecordReader.nextKeyValue(HttpRecordReader.java:60) ~[1580429892615-0/:na]
    at io.cdap.cdap.etl.batch.preview.LimitingRecordReader.nextKeyValue(LimitingRecordReader.java:51) ~[cdap-etl-core-6.1.1.jar:na]
    at org.apache.spark.rdd.NewHadoopRDD$$anon$1.hasNext(NewHadoopRDD.scala:214) ~[spark-core_2.11-2.3.3.jar:2.3.3]
    at org.apache.spark.InterruptibleIterator.hasNext(InterruptibleIterator.scala:37) ~[spark-core_2.11-2.3.3.jar:2.3.3]
    at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:439) ~[scala-library-2.11.8.jar:na]
    at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:439) ~[scala-library-2.11.8.jar:na]
    at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:439) ~[scala-library-2.11.8.jar:na]
    at org.apache.spark.internal.io.SparkHadoopWriter$$anonfun$4.apply(SparkHadoopWriter.scala:128) ~[spark-core_2.11-2.3.3.jar:2.3.3]
    at …
Run Code Online (Sandbox Code Playgroud)

rest pagination endpoint google-cloud-data-fusion

5
推荐指数
1
解决办法
1487
查看次数

将数据帧的特定列与常量标量值相乘

如何仅将数据帧的特定列乘以常数值?

df0 = pd.DataFrame({'A' : 1.,
                    'B' : 1,
                    'C' : 1,
                    'D' : np.array([1] * 4,dtype='int32')})

mult_by_two = df0.iloc[:,2:].mul(2)
print mult_by_two
Run Code Online (Sandbox Code Playgroud)

我明白了:

   C  D
0  2  2
1  2  2
2  2  2
3  2  2
Run Code Online (Sandbox Code Playgroud)

但我想要的是:

   A  B  C  D
0  1  1  2  2
1  1  1  2  2
2  1  1  2  2
3  1  1  2  2
Run Code Online (Sandbox Code Playgroud)

python multiplication dataframe pandas

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