以下标准给出了布尔真假结果(梳子是一个超过1,000列的数据帧,我选择的列数超过4000.
criteria = comb.ix[:,'c_0327':].count()>4000
Run Code Online (Sandbox Code Playgroud)
我想用它来选择True列到新的Dataframe.
以下只给出了"Unalignable boolean Series key"
comb.loc[criteria,]
Run Code Online (Sandbox Code Playgroud)
我也尝试过:
comb.ix[:, comb.ix[:,'c_0327':].count()>4000]
Run Code Online (Sandbox Code Playgroud)
类似于这个问题回答数据框布尔选择沿列而不是行, 但这给了我同样的错误:"提供了不可对齐的布尔系列键"
comb.ix[:,'c_0327':].count()>4000
Run Code Online (Sandbox Code Playgroud)
收益率:
c_0327 False
c_0328 False
c_0329 False
c_0330 False
c_0331 False
c_0332 False
c_0333 False
c_0334 False
c_0335 False
c_0336 False
c_0337 True
c_0338 False
.....
Run Code Online (Sandbox Code Playgroud) 我已经弄清楚如何抑制大型代码块出现在最终的NB转换(PDF)输出中.
通过将LaTex命令放在"我希望在最终输出中不需要的代码之前的原始单元格"中
\iffalse
Run Code Online (Sandbox Code Playgroud)
最后跟着这个原始单元格
\fi
Run Code Online (Sandbox Code Playgroud)
但是,当我需要显示数字等时,仍然留下一些丑陋的代码,而笔记本的基本目的是显示带有结果的代码,有时对于非技术用户,我们只需要输出..任何想法?
如果有人受到启发,有点相关..任何方式在markdown单元格中包含python变量,这样可以得到带有计算结果的动态文本?对不起第二个问题,但我不确定是否因为一些奇怪的原因而单独询问这个问题.
给定Pandas数据帧如下:
dates = pd.date_range('20130101',periods=6)
df = pd.DataFrame(np.random.randn(6),index=dates,columns=list('A'))
A
2013-01-01 0.847528
2013-01-02 0.204139
2013-01-03 0.888526
2013-01-04 0.769775
2013-01-05 0.175165
2013-01-06 -1.564826
Run Code Online (Sandbox Code Playgroud)
我想在索引中添加15天.这不起作用>
#from pandas.tseries.offsets import *
df.index+relativedelta(days=15)
#df.index + DateOffset(days=5)
TypeError: relativedelta(days=+15)
Run Code Online (Sandbox Code Playgroud)
我似乎无法用索引做任何事情......
给定DataFrame这样的:
LIST_PRICE SOLD_PRICE
MOYRLD
1999-03-31 317062.500000 314800
1999-06-30 320900.000000 307100
1999-09-30 400616.666667 366160
1999-12-31 359900.000000 NaN
2000-03-31 359785.714286 330750
Run Code Online (Sandbox Code Playgroud)
使用代码:
import matplotlib.dates as mdates
ax3=df5.plot()
ax3.set_ylim(100000,600000)
ax3.set_title('Heatherwood-Quarterly')
Run Code Online (Sandbox Code Playgroud)
我生成一个类似的情节:

我无法弄清楚如何让轴附加注释?这个示例在Matplotlib中的Annotate Time Series图非常接近,但我不知道如何从DataFrame?指定x和y轴?
所以应该接近:
ax3.annotate('Test', (mdates.date2num(x[1]), y[1]), xytext=(15, 15),
textcoords='offset points', arrowprops=dict(arrowstyle='-|>'))
fig.autofmt_xdate()
plt.show()
Run Code Online (Sandbox Code Playgroud)
但是我用什么代替x[1]和y[1]取得轴?我试过['MORLD'][1]和['SOLD_PRICE'][1],得到了 index out of range...
使用:
newdf3.pivot_table(rows=['Quradate'],aggfunc=np.mean)
Run Code Online (Sandbox Code Playgroud)
产量:
Alabama_exp Credit_exp Inventory_exp National_exp Price_exp Sales_exp
Quradate
2010-01-15 0.568003 0.404481 0.488601 0.483097 0.431211 0.570755
2010-04-15 0.543620 0.385417 0.455078 0.468750 0.408203 0.564453
Run Code Online (Sandbox Code Playgroud)
我想把十进制数字四舍五入到两位数乘以100,例如.568003应该是57在摆弄它一段时间无济于事; 试过这个
newdf3.pivot_table(rows=['Quradate'],aggfunc=np.mean).apply(round(2)) #and got:
TypeError: ("'float' object is not callable", u'occurred at index Alabama_exp')
Run Code Online (Sandbox Code Playgroud)
尝试了其他一些方法无济于事,大多数抱怨该项目不是浮点数......我看到Pandas系列对象有一个圆形方法,但DF不尝试使用df.apply但它抱怨浮动问题.
我正在使用以下内容从数据帧梳中选择特定的列,我想将其添加到新的数据帧中.个人选择工作正常EG:comb.ix [:,0:1],但是当我尝试使用+组合它们时我得到一个不好的结果第一个选择([:,0:1])卡在最后当出现在行的末尾时,数据帧和原始col 1中包含的值被擦除.获得我想要的列的正确方法是什么?(我会包含样本数据,但正如您所看到的,列数太多......这就是我尝试这样做的原因)
comb.ix[:,0:1]+comb.ix[:,17:342]
Run Code Online (Sandbox Code Playgroud) 这里发生了什么?我需要生成一个月初日期的数据框,(1-1-2014到12-1-2014)fwiw我在其他地方使用fcast_year变量,我需要月底,因此做日期数学
from pandas.tseries.offsets import *
fcast_yr=pd.to_datetime('2014-12-31')
x=(fcast_yr + pd.DateOffset(days= -30)) # to set x to 2014-12-01
d=pd.date_range((x +pd.DateOffset(months=-10)), periods=12, freq='MS') #"MS" means start of month!!
print d.values
Run Code Online (Sandbox Code Playgroud)
给出这些月末价值......哇!!
['2014-01-31T18:00:00.000000000-0600' '2014-02-28T18:00:00.000000000-0600'
'2014-03-31T19:00:00.000000000-0500' '2014-04-30T19:00:00.000000000-0500'
'2014-05-31T19:00:00.000000000-0500' '2014-06-30T19:00:00.000000000-0500'
'2014-07-31T19:00:00.000000000-0500' '2014-08-31T19:00:00.000000000-0500'
'2014-09-30T19:00:00.000000000-0500' '2014-10-31T19:00:00.000000000-0500'
'2014-11-30T18:00:00.000000000-0600' '2014-12-31T18:00:00.000000000-0600']
Run Code Online (Sandbox Code Playgroud)
使用13.0 pf Pandas
我已经得到了一些笔记本电脑并继续使用DataLab.出于各种原因,我想从我的机器上的本地Jupyter笔记本访问相同的数据.
这个问题提出了一些方法,到目前为止我无法工作.
特别是Gcloud库:
from gcloud import bigquery
client = bigquery.Client()
Run Code Online (Sandbox Code Playgroud)
给我一个堆栈跟踪其最后一行:
ContextualVersionConflict: (protobuf 2.6.1 (/usr/local/lib/python2.7/dist-packages), Requirement.parse('protobuf!=3.0.0.b2.post1,>=3.0.0b2'), set(['gcloud']))
Run Code Online (Sandbox Code Playgroud)
熊猫图书馆看起来很有希望:
df=pd.io.gbq.read_gbq('SELECT CCS_Category_ICD9, Gender, Admit_Month FROM [xxxxxxxx-xxxxx:xxxx_100MB_newform.xxxxxx_100MB_newform]ORDER by CCS_Category_ICD9',
project_id='xxxxxxxx-xxxxx')
Run Code Online (Sandbox Code Playgroud)
还给我一个堆栈跟踪:
IOError: [Errno 2] No such file or directory: '/usr/local/lib/python2.7/dist-packages/httplib2-0.9.1.dist-info/METADATA'
Run Code Online (Sandbox Code Playgroud)
也许我在Pandas方法上有一个auth问题,虽然我的浏览器目前正在对该项目进行验证?还是我错过了依赖?
任何建议或指导赞赏..
从本地Jupyter笔记本中访问A BigQuery数据源的最佳方法是什么?
pandas google-bigquery google-cloud-platform google-cloud-datalab
我一直在探索实现响应式设计的工具和技术.
我喜欢320及以上的响应式移动第一种方法,它说它使用html5样板.
对于整体编辑,控制和功能Compass/Sass似乎有很多东西可以提供.
我现在知道我可以通过将它们嵌入到一个绘图空间中来输出来自IPython pandas的多个图表,这些绘图空间将出现在笔记本中的单个输出单元格中.
我可以用Pandas HTML Tables做类似的事情吗?
我从电子表格中的多个选项卡(大约15-20)获取数据,并通过一组回归运行它们,我想一起显示结果,也许是2个..但是因为显示表的功能只显示一,最后一个,不知道如何接近.想法?
我甚至乐意在连续的输出单元格中显示..也不确定如何做到这一点但是我想我可以做一些非常脏的事情在一个单独的单元格中调用每个(电子表格)选项卡..呃......我...我在IPython 2.0 dev和Pandas 13上
pandas ×8
python ×7
ipython ×2
compass-sass ×1
css3 ×1
html5 ×1
matplotlib ×1
numpy ×1
sass ×1