小编Jia*_*ang的帖子

Pandas DataFrame:访问多个项目,不等于,=!

我有以下Pandas DataFrame对象df.这是列出出发日期,预定出发时间和火车公司的列车时刻表.

import pandas as pd
df = 

            Year  Month DayofMonth  DayOfWeek  DepartureTime Train    Origin
Datetime
1988-01-01  1988    1     1         5        1457      BritishRail   Leeds
1988-01-02  1988    1     2         6        1458      DeutscheBahn  Berlin
1988-01-03  1988    1     3         7        1459      SNCF           Lyons
1988-01-02  1988    1     2         6        1501      BritishRail   Ipswich
1988-01-02  1988    1     2         6        1503      NMBS          Brussels
....
Run Code Online (Sandbox Code Playgroud)

现在,让我们说我想在"火车"栏中选择所有项目"DeutscheBahn".

我会用

DB = df[df['Train'] == 'DeutscheBahn']
Run Code Online (Sandbox Code Playgroud)

现在,我如何选择除DeutscheBahn和British Rails以及SNCF之外的所有列车.我怎样才能同时选择不属于这些的项目?

notDB = df[df['Train'] != 'DeutscheBahn']
Run Code Online (Sandbox Code Playgroud)

notSNCF = df[df['Train'] != …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

如何将Pandas DataFrame存储为HDF5 PyTables表(或CArray,EArray等)?

我有以下熊猫数据框:

import pandas as pd
df = pd.read_csv(filename.csv)
Run Code Online (Sandbox Code Playgroud)

现在,我可以HDFStore用来将df对象写入文件(例如将键值对添加到Python字典中):

store = HDFStore('store.h5')
store['df'] = df
Run Code Online (Sandbox Code Playgroud)

http://pandas.pydata.org/pandas-docs/stable/io.html

当我查看内容时,此对象是一个frame

store 
Run Code Online (Sandbox Code Playgroud)

输出

<class 'pandas.io.pytables.HDFStore'>
File path: store.h5
/df            frame        (shape->[552,23252])
Run Code Online (Sandbox Code Playgroud)

但是,为了使用索引,应该将其存储为table对象。

我的方法是尝试HDFStore.put(),即

HDFStore.put(key="store.h", value=df, format=Table)
Run Code Online (Sandbox Code Playgroud)

但是,此操作失败并显示以下错误:

TypeError: put() missing 1 required positional argument: 'self'
Run Code Online (Sandbox Code Playgroud)

如何将Pandas Dataframe保存为PyTables表?

python hdf5 pytables pandas hdfstore

4
推荐指数
1
解决办法
4471
查看次数

如何将大于RAM限制的gzip文件导入Pandas DataFrame?"杀9"使用HDF5?

我有一个gzip约90 GB.这完全在磁盘空间内,但远大于RAM.

如何将其导入到pandas数据框中?我在命令行中尝试了以下内容:

# start with Python 3.4.5
import pandas as pd
filename = 'filename.gzip'   # size 90 GB
df = read_table(filename, compression='gzip')
Run Code Online (Sandbox Code Playgroud)

然而,几分钟后,Python关闭了Kill 9.

定义数据库对象后df,我计划将其保存到HDF5中.

这样做的正确方法是什么?我pandas.read_table()该怎么用呢?

python gzip hdf5 dataframe pandas

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

标签 统计

pandas ×3

python ×3

hdf5 ×2

dataframe ×1

gzip ×1

hdfstore ×1

pytables ×1