我有以下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) 我正在运行一个处理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) 在尝试找到这个答案时,我可能会使用糟糕的搜索字词.现在,在索引DataFrame之前,我正在以这种方式获取列中的值列表......
list = list(df['column'])
Run Code Online (Sandbox Code Playgroud)
......然后我会set_index在专栏上.这似乎是一个浪费的步骤.在索引上尝试上述操作时,我收到一个关键错误.
如何获取索引中的值(单个和多个)并将它们放在列表或元组列表中?
使用此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
使用以下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) 使用导入的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?
对于项目的几个方面,使用"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等)
任何帮助/见解将不胜感激!
我正在将 SQLAlchemy Core 与 MySQL 数据库一起使用,但很难找到 INSERT IGNORE / DUPLICATE KEY UPDATE 的解决方案。如果有办法处理这个问题,我讨厌在代码中手动编写一次性查询。我发现的大多数解决方案或讨论都围绕 ORM,而不是核心。甚至其中一些是死链接。甚至有可能吗?
从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的情况下执行上面的代码,则不会返回错误.
出于某种原因,我无法使此合并正常工作.
此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)