草庐IT

python - 在 Pandas 数据框中用 NaN 替换空列表

我正在尝试用NaN值替换我数据中的一些空列表。但是如何在表达式中表示一个空列表呢?importnumpyasnpimportpandasaspdd=pd.DataFrame({'x':[[1,2,3],[1,2],["text"],[]],'y':[1,2,3,4]})dxy0[1,2,3]11[1,2]22[text]33[]4d.loc[d['x']==[],['x']]=d.loc[d['x']==[],'x'].apply(lambdax:np.nan)dValueError:Arraysweredifferentlengths:4vs0而且,我想通过使用d[d['x']==[

python - Pandas groupby 应用 vs 具有特定功能的转换

我不明白groupby+transform操作可以接受哪些函数。通常,我最终只是猜测、测试、恢复直到某些东西有效,但我觉得应该有一种系统的方法来确定解决方案是否有效。这是一个最小的例子。首先让我们使用groupby+apply和set:df=pd.DataFrame({'a':[1,2,3,1,2,3,3],'b':[1,2,3,1,2,3,3],'type':[1,0,1,0,1,0,1]})g=df.groupby(['a','b'])['type'].apply(set)print(g)ab11{0,1}22{0,1}33{0,1}这很好用,但我希望生成的set在原始数据框的新列

python - 了解 Pandas 数据帧索引

总结:这不起作用:df[df.key==1]['D']=1但这确实:df.D[df.key==1]=1为什么?复制:In[1]:importpandasaspdIn[2]:fromnumpy.randomimportrandnIn[4]:df=pd.DataFrame(randn(6,3),columns=list('ABC'))In[5]:dfOut[5]:ABC01.438161-0.210454-1.9837041-0.283780-0.3717730.01758020.552564-0.6105480.25727631.9313320.649179-1.34906241.656

python - pandas dataframe view vs copy,我怎么知道?

有什么区别:Pandasdf.loc[:,('col_a','col_b')]和df.loc[:,['col_a','col_b']]下面的链接没有提到后者,尽管它有效。两者都拉一个View吗?第一个拉View,第二个拉副本吗?喜欢学习Pandas。http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy谢谢 最佳答案 如果你的DataFrame有一个简单的列索引,那么就没有区别。例如,In[8]:df=pd.DataFra

python - 如何按中值对 pandas 中的箱线图进行排序?

我想按类别X和Y在数据框df中绘制列Z的箱线图。如何按中位数降序对箱线图进行排序?importpandasaspdimportrandomn=100#thisisprobablyastrangewaytogeneraterandomdata;pleasefeelfreetocorrectitdf=pd.DataFrame({"X":[random.choice(["A","B","C"])foriinrange(n)],"Y":[random.choice(["a","b","c"])foriinrange(n)],"Z":[random.gauss(0,1)foriinrange(n

python - 使用系列索引作为列的 Pandas 系列到数据框

我有一个系列,像这样:series=pd.Series({'a':1,'b':2,'c':3})我想把它转换成这样的数据框:abc0123pd.Series.to_frame()不起作用,它得到了类似的结果,0a1b2c3如何从Series构造DataFrame,以Series的索引为列? 最佳答案 你也可以试试这个:df=DataFrame(series).transpose()使用transpose()函数,您可以互换索引和列。输出如下所示:abc0123 关于python-使用系列

python - 用 Bokeh 和 pandas 绘制多条线

我想给Bokeh一个pandas数据框来绘制一个包含多条线的折线图。x轴应该是df.index,每个df.columns应该是单独的一行。这是我想做的:importpandasaspdimportnumpyasnpfrombokeh.plottingimportfigure,showtoy_df=pd.DataFrame(data=np.random.rand(5,3),columns=('a','b','c'),index=pd.DatetimeIndex(start='01-01-2015',periods=5,freq='d'))p=figure(width=1200,heigh

python - 将多个 csv 文件读取到 HDF5 时,Pandas ParserError EOF 字符

使用Python3、Pandas0.12我正在尝试将多个csv文件(总大小为7.9GB)写入HDF5存储以供以后处理。csv文件每个包含大约一百万行,15列,数据类型主要是字符串,但也有一些float。但是,当我尝试读取csv文件时,出现以下错误:Traceback(mostrecentcalllast):File"filter-1.py",line38,into_hdf()File"filter-1.py",line31,into_hdfforchunkinreader:File"C:\Python33\lib\site-packages\pandas\io\parsers.py",

python - 如何检查 Pandas 数据框的索引是否已排序

我有一个带有索引的vanillapandas数据框。我需要检查索引是否已排序。最好不要再次排序。例如我可以通过index.is_unique()测试一个索引是否唯一,是否有类似的方法来测试排序? 最佳答案 怎么样:df.index.is_monotonic 关于python-如何检查Pandas数据框的索引是否已排序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/17315881

python - Pandas 将带有 unix 时间戳(以毫秒为单位)的行转换为日期时间

我需要处理大量CSV文件,其中时间戳始终是一个字符串,以毫秒为单位表示unix时间戳。我还没有找到有效修改这些列的方法。这是我想出的,但是这当然只复制列,我必须以某种方式将其放回原始数据集。我确定在创建DataFrame时可以做到吗?importsysifsys.version_info[0]这将选择列“UNIXTIME”并将其更改为014471607023201144716070236421447160722364Name:UNIXTIME,dtype:int64进入这个02015-11-1014:05:02.32012015-11-1014:05:02.36422015-11-10