小编Tra*_*VOX的帖子

根据列值删除Pandas中的DataFrame行

我有以下DataFrame:

             daysago  line_race rating        rw    wrating
 line_date                                                 
 2007-03-31       62         11     56  1.000000  56.000000
 2007-03-10       83         11     67  1.000000  67.000000
 2007-02-10      111          9     66  1.000000  66.000000
 2007-01-13      139         10     83  0.880678  73.096278
 2006-12-23      160         10     88  0.793033  69.786942
 2006-11-09      204          9     52  0.636655  33.106077
 2006-10-22      222          8     66  0.581946  38.408408
 2006-09-29      245          9     70  0.518825  36.317752
 2006-09-16      258         11     68  0.486226  33.063381
 2006-08-30      275          8     72  0.446667  32.160051
 2006-02-11      475          5     65  0.164591  10.698423
 2006-01-13      504          0     70  0.142409   9.968634
 2006-01-02 …
Run Code Online (Sandbox Code Playgroud)

python pandas

441
推荐指数
12
解决办法
67万
查看次数

使用Python在Pandas中读取CSV文件时的UnicodeDecodeError

我正在运行一个处理30,000个类似文件的程序.随机数量正在停止并产生此错误......

   File "C:\Importer\src\dfman\importer.py", line 26, in import_chr
     data = pd.read_csv(filepath, names=fields)
   File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 400, in parser_f
     return _read(filepath_or_buffer, kwds)
   File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 205, in _read
     return parser.read()
   File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 608, in read
     ret = self._engine.read(nrows)
   File "C:\Python33\lib\site-packages\pandas\io\parsers.py", line 1028, in read
     data = self._reader.read(nrows)
   File "parser.pyx", line 706, in pandas.parser.TextReader.read (pandas\parser.c:6745)
   File "parser.pyx", line 728, in pandas.parser.TextReader._read_low_memory (pandas\parser.c:6964)
   File "parser.pyx", line 804, in pandas.parser.TextReader._read_rows (pandas\parser.c:7780)
   File "parser.pyx", line 890, in pandas.parser.TextReader._convert_column_data (pandas\parser.c:8793)
   File "parser.pyx", line 950, in pandas.parser.TextReader._convert_tokens …
Run Code Online (Sandbox Code Playgroud)

python csv unicode dataframe pandas

329
推荐指数
13
解决办法
32万
查看次数

获取Pandas DataFrame的行索引值作为列表?

在尝试找到这个答案时,我可能会使用糟糕的搜索字词.现在,在索引DataFrame之前,我正在以这种方式获取列中的值列表......

 list = list(df['column']) 
Run Code Online (Sandbox Code Playgroud)

......然后我会set_index在专栏上.这似乎是一个浪费的步骤.在索引上尝试上述操作时,我收到一个关键错误.

如何获取索引中的值(单个和多个)并将它们放在列表或元组列表中?

python indexing list pandas

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

如何在Pandas中有条件地更新DataFrame列

使用此DataFrame,如何在等于零rating时有条件地设置为0 line_race

    line_track  line_race  rating foreign
 25        MTH         10     84    False
 26        MTH          6     88    False
 27        TAM          5     87    False
 28         GP          2     86    False
 29         GP          7     59    False
 30        LCH          0    103     True
 31        LEO          0    125     True
 32        YOR          0    126     True
 33        ASC          0    124     True
Run Code Online (Sandbox Code Playgroud)

换句话说,DataFrame上的正确方法是说ColumnA = x然后ColumnB = y else ColumnB = ColumnB

python pandas

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

如何使用多索引转换Pandas DataFrame?

使用以下DataFrame,如何根据索引移动"beyer"列而不让Pandas将移位值分配给不同的索引值?

                  line_date  line_race  beyer
horse                                        
Last Gunfighter  2013-09-28         10     99
Last Gunfighter  2013-08-18         10    102
Last Gunfighter  2013-07-06          8    103
.....
Paynter          2013-09-28         10    103
Paynter          2013-08-31         10     88
Paynter          2013-07-27          8    100
Run Code Online (Sandbox Code Playgroud)

df['beyer'].shift(1) 生产...

                  line_date  line_race  beyer  beyer_shifted
horse                                                       
Last Gunfighter  2013-09-28         10     99            NaN
Last Gunfighter  2013-08-18         10    102             99
Last Gunfighter  2013-07-06          8    103            102
.....
Paynter          2013-09-28         10    103             71
Paynter          2013-08-31         10     88            103
Paynter          2013-07-27          8    100             88
Run Code Online (Sandbox Code Playgroud)

问题在于Paynter被授予了最后枪手(他的第一张唱片)的指定.相反,我希望它像这样......

                  line_date  line_race  beyer  beyer_shifted
horse …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

在Pandas DataFrame中使用set_index

使用导入的CSV文件,我像这样索引DataFrame ...

 rdata.set_index(['race_date', 'track_code', 'race_number', 'horse_name'])
Run Code Online (Sandbox Code Playgroud)

这就是DataFrame的一部分看起来像......

 race_date  track_code race_number horse_name          work_date  work_track
 2007-08-24 BM         8           Count Me Twice     2007-05-31         PLN
                                   Count Me Twice     2007-06-09         PLN
                                   Count Me Twice     2007-06-16         PLN
                                   Count Me Twice     2007-06-23         PLN
                                   Count Me Twice     2007-08-05         PLN
                                   Judge's Choice     2007-06-07          BM
                                   Judge's Choice     2007-06-14          BM
                                   Judge's Choice     2007-07-08          BM
                                   Judge's Choice     2007-08-18          BM
Run Code Online (Sandbox Code Playgroud)

为什么'horse_name'列不像日期,曲目和种族一样被分组?也许它是设计的,因此如何通过竞赛来切割这个更大的DataFrame,以获得一个以'horse_name'作为索引的新DataFrame?

python pandas

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

使用Pandas和HD5/HDFStore压缩

对于项目的几个方面,使用"h5"存储将是理想的.然而,文件变得越来越大,坦率地说,我们的空间已经不多了.

这个说法...

 store.put(storekey, data, table=False, compression='gzip')
Run Code Online (Sandbox Code Playgroud)

在文件大小方面没有产生任何差异...

 store.put(storekey, data, table=False)
Run Code Online (Sandbox Code Playgroud)

穿过熊猫时是否可以使用压缩?

...如果不可能,我不介意使用h5py,但是,我不确定要为"数据类型"添加什么,因为DataFrame包含各种类型(字符串,float,int等)

任何帮助/见解将不胜感激!

python hdf5 pandas

8
推荐指数
1
解决办法
8367
查看次数

SQLAlchemy 核心 - 插入忽略和重复密钥更新

我正在将 SQLAlchemy Core 与 MySQL 数据库一起使用,但很难找到 INSERT IGNORE / DUPLICATE KEY UPDATE 的解决方案。如果有办法处理这个问题,我讨厌在代码中手动编写一次性查询。我发现的大多数解决方案或讨论都围绕 ORM,而不是核心。甚至其中一些是死链接。甚至有可能吗?

python sqlalchemy

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

在IDLE中使用numpy但在Python Shell中没有的AttributeError

从IDLE窗口执行的以下代码会产生如下所示的错误.

 import numpy as np
 testarray = np.array([1,2,3], int)
Run Code Online (Sandbox Code Playgroud)

这是错误......

 Traceback (most recent call last):
   File "C:\Test\numpy.py", line 1, in <module>
     import numpy as np
   File "C:\Test\numpy.py", line 2, in <module>
     testarray = np.array([1,2,3], int)
 AttributeError: 'module' object has no attribute 'array'
 >>> 
Run Code Online (Sandbox Code Playgroud)

如果我在壳牌中做同样的事情,它就可以正常工作......

 >>> import numpy as np
 >>> testarray = np.array([1,2,3], int)
 >>> testarray
 array([1, 2, 3])
 >>> 
Run Code Online (Sandbox Code Playgroud)

这一直困扰着我...任何人都知道如何修复它?也许我做错了什么.

注意:如果我只是在没有testarray的情况下执行上面的代码,则不会返回错误.

python numpy

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

Pandas中的数据帧合并

出于某种原因,我无法使此合并正常工作.

此Dataframe(rspars)有2,000多行......

    rsparid  f1mult  f2mult  f3mult
 0        1   0.318   0.636   0.810
 1        2   0.348   0.703   0.893
 2        3   0.384   0.777   0.000
 3        4   0.296   0.590   0.911
 4        5   0.231   0.458   0.690
 5        6   0.275   0.546   0.839
 6        7   0.248   0.486   0.731
 7        8   0.430   0.873   0.000
 8        9   0.221   0.438   0.655
 9       11   0.204   0.399   0.593
Run Code Online (Sandbox Code Playgroud)

当尝试将上述内容加入到基于rsparid此Dataframe 的列的表中时...

            line_track  line_race rsparid
 line_date                               
 2013-03-23         TP         10    1400
 2013-02-23         GP          7     634
 2013-01-01         GP          7    1508
 2012-11-11        AQU          5      96 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

标签 统计

python ×10

pandas ×8

csv ×1

dataframe ×1

hdf5 ×1

indexing ×1

list ×1

numpy ×1

sqlalchemy ×1

unicode ×1