在 Pycharm 中调试代码时,有没有办法在继续之前保存当前状态?这样,如果下游存在错误,我就不必重新处理已调试的所有内容。
谢谢
让我们有一个小的数据框: df = pd.DataFrame({'CID': [1,2,3,4,12345, 6]})
当我搜索会员资格时,根据我要搜索in df.CID还是in 的速度差异很大df['CID']。
In[25]:%timeit 12345 in df.CID
Out[25]:89.8 µs ± 254 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)
In[26]:%timeit 12345 in df['CID']
Out[26]:42.3 µs ± 334 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)
In[27]:type( df.CID)
Out[27]: pandas.core.series.Series
In[28]:type( df['CID'])
Out[28]: pandas.core.series.Series
Run Code Online (Sandbox Code Playgroud)
这是为什么?
我已经坚持了一段时间,似乎没有任何帮助。
我正在读很多原始数据。由于变量由于各种原因(我不在乎)而使用字母,因此某些变量作为对象进入对象。
因此,我想通过运行一个相当大的列子集,pandas.to_numeric(___ ,error='coerce')以强制将它们强制转换为int或float(再次,我不太在乎哪一个,只是它们是数字。
我可以很容易地逐列进行此操作:
df['col_name'] = pd.to_numeric(df['col_name'], errors='coerce')
Run Code Online (Sandbox Code Playgroud)
但是,我有60列要转换为..所以我认为这样可以工作:
numeric = ['lots', 'a', 'columns']
for item in numeric:
df_[item] = pd.to_numeric(df[item], errors='coerce')
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
Traceback (most recent call last):
File "/Users/____/anaconda/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 2885, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-53-43b873fbd712>", line 2, in <module>
df_detail[item] = pd.to_numeric(dfl[item], errors='coerce')
File "/Users/____/anaconda/lib/python2.7/site-packages/pandas/tools/util.py", line 101, in to_numeric
raise TypeError('arg must be a list, tuple, 1-d array, or Series')
TypeError: arg must be a list, tuple, 1-d array, or Series
Run Code Online (Sandbox Code Playgroud)
我尝试了许多版本。这与列表或浏览列表有关。当for循环简单地要求df(item).describe() …
所以我正在尝试为服务建立一个数据仓库,其中每个客户都有自己的数据库和唯一的模式.我如何设置仓库,以便每个客户自动设置自己的语义层/关系模型(因为我们(集中)不知道每个数据库中的内容)这样每个客户都可以轻松地报告他们的数据?我们可以遵循任何自动流程吗?我错过了什么吗?