草庐IT

Pandas-Datareader

全部标签

python - 使用 pandas 将贸易数据重采样为 OHLCV

我在pandasDataFrame中有历史交易数据,包含价格和交易量列,由DateTimeIndex索引。例如:>>>printdf.tail()pricevolume2014-01-1514:29:54+00:00949.9750.012014-01-1514:29:59+00:00941.3700.012014-01-1514:30:17+00:00949.9750.012014-01-1514:30:24+00:00941.3700.012014-01-1514:30:36+00:00949.9750.01现在,我可以使用df.resample(freq,how={'price'

python pandas 自定义聚合函数

Dataframe:onetwoa1xb1yc2yd2ze3zgrp=DataFrame.groupby('one')grp.agg(lambdax:???)#orequivalentfunctiongrp.agg的期望输出:onetwo1x|y2y|z3z在集成数据帧之前,我的聚合函数是"|".join(sorted(set(x)))。理想情况下,我希望组中有任意数量的列,并且agg返回"|".join(sorted(set())像上面两个一样的每个列项。我也试过np.char.join().我很喜欢Pandas,它让我从800行的复杂程序变成了400行的公园漫步。谢谢:)

python - 在 Pandas 中,如果列最初为空,如何使用 fillna 将整个列填充为字符串?

我的table:In[15]:csv=u"""a,a,,a....:b,b,,b....:c,c,,c....:"""In[18]:df=pd.read_csv(io.StringIO(csv),header=None)将空列填写为“未知”In[19]:dfOut[19]:01230aaNaNa1bbNaNb2ccNaNcIn[20]:df.fillna({2:'UNKNOWN'})得到错误ValueError:couldnotconvertstringtofloat:UNKNOWN 最佳答案 您的2列可能有一个float数据类型:

python - Pandas 的多列分解

pandasfactorize函数将系列中的每个唯一值分配给一个从0开始的顺序索引,并计算每个系列条目属于哪个索引。我想在多个列上完成与pandas.factorize等效的操作:importpandasaspddf=pd.DataFrame({'x':[1,1,2,2,1,1],'y':[1,2,2,2,2,1]})pd.factorize(df)[0]#wouldlike[0,1,2,2,1,0]也就是说,我想确定一个数据帧的几列中每个唯一的值元组,为每个值分配一个顺序索引,并计算数据帧中的每一行属于哪个索引。Factorize仅适用于单列。pandas中是否有多列等价函数?

python - Pandas :一列基于另一列的箱线图

假设我有一个如下所示的数据框:my_dataframe:AgeGroup031A124A225A336A450NaN527A649A724A863A925A1065A1167A1259A13NaNB1430B1519B1657B1762B1830B1950B2042B2145C2259C2328C2437C2529C我想绘制每个组(A、B、C)的年龄箱线图。请注意,我在数据框中有一些NaN值。我如何在Pandas中执行此操作? 最佳答案 第一次看错了,所以给出了直方图的答案……把它记在下面。对于箱线图,代码是:bp=df.boxpl

python - 将 pandas DataFrame.plot 填充到 matplotlib 子图中

脑袋疼我有一些代码可以在一长列中生成33个图形#fig,axes=plt.subplots(nrows=11,ncols=3,figsize=(18,50))accountList=list(set(training.account))foriinrange(1,len(accountList)):training[training.account==accountList[i]].plot(kind='scatter',x='date_int',y='rate',title=accountList[i])#axes[0].set_ylabel('SuccessRate')我想将这些图

python - 将级别附加到 python pandas 中的列索引

我有几个具有相同列的Dataframes,我只想合并它们的索引。printdf1out[]:ValueISOId2000018432000000USD20023022588186000USD2002474633000000USD2002911188880000USD2004181779776000USDprintdf2out[]:ValueISOId2000011.309168e+11USD2002305.444096e+10USD2002479.499602e+09USD2002912.089603e+09USD2004183.827251e+09USDprintdf3out[]:V

python - Pandas to_csv : suppress scientific notation in csv file when writing pandas to csv

我正在将pandasdf写入csv。当我将其写入csv文件时,其中一列中的某些元素被错误地转换为科学记数法/数字。例如,col_1中有'104D59'等字符串。字符串在csv文件中主要表示为字符串,因为它们应该如此。但是,偶尔出现的字符串(例如'104E59')会被转换为科学记数法(例如1.04E61)并在随后的csv文件中表示为整数。我正在尝试将csv文件导出到一个软件包中(即pandas->csv->software_new),这种数据类型的变化导致导出出现问题。有没有办法将df写入csv,确保df['problem_col']中的所有元素在生成的csv中都表示为字符串或不转换为科

python - 从元组到 Pandas 中的多列

我如何转换这个数据框locationvalue0(Richmond,Virginia,nan,USA)1001(NewYorkCity,NewYork,nan,USA)200为此:citystateregioncountryvalue0RichmondVirginiananUSA1001NewYorkCityNewYorknanUSA200请注意,第一个数据框中的location列包含元组。我想在location列中创建四列。 最佳答案 new_col_list=['city','state','regions','country'

python - 在 python pandas 的数据框中使用选定的列为每一行数据创建哈希值

我问过similarquestion在R中关于为每一行数据创建哈希值。我知道我可以使用类似hashlib.md5(b'HelloWorld').hexdigest()的东西来对字符串进行哈希处理,但是数据帧中的一行呢?更新01我的代码起草如下:forindex,rowincourse_staff_df.iterrows():temp_df.loc[index,'hash']=hashlib.md5(str(row[['cola','colb']].values)).hexdigest()对我来说似乎不是很pythonic,有更好的解决方案吗? 最佳答案