草庐IT

pyhton_Pandas

全部标签

python - 如何检查列表中的所有元素是否都存在于 pandas 列中

我有一个数据框和一个列表:df=pd.DataFrame({'id':[1,2,3,4,5,6,7,8],'char':[['a','b'],['a','b','c'],['a','c'],['b','c'],[],['c','a','d'],['c','d'],['a']]})names=['a','c']只有a和c都出现在char列中时,我才想获取行。(这里的顺序无关紧要)预期输出:charid1[a,b,c]22[a,c]35[c,a,d]6我的努力true_indices=[]foridx,rowindf.iterrows():ifall(nameinrow['char']fo

python - 如何根据条件为 Pandas 数据框中的行组分配唯一值?

我的数据框是这样的:importpandasaspdexample=[{'A':3},{'A':5},{'A':0},{'A':2},{'A':6},{'A':9},{'A':0},{'A':3},{'A':4}]df=pd.DataFrame(example)print(df)输出:df350269034一个新的“簇”出现在df中出现0之后。我想给这些集群中的每一个一个唯一的值,就像这样:df3A5A0-2B6B9B0-3C4C我尝试过使用enumerate和itertools,但由于我是Python的新手,所以我一直在努力了解这些选项的正确用法和语法。

python - 将 pandas'to_html' 保存为文件

我有一个DateFrame'tsod',现在我将它转换为html:tsod.to_html()如何将其保存为文件?最好另存为“.html”文件。 最佳答案 withopen('my_file.html','w')asfo:fo.write(tsod.to_html())或者使用Pandastsod.to_html(open('my_file.html','w'))或再次(感谢@andy-hayden)withopen('my_file.html','w')asfo:tsod.to_html(fo)

python - 同一数据框中的 Pandas 和 sum 和 cum sum

我使用下面的代码创建总和和cumsum。但它们位于两个独立的数据框中。我想要一应俱全asp=np.array(np.array([0,0,1]))asq=np.array(np.array([10,10,20]))columns=['asp']df=pd.DataFrame(asp,index=None,columns=columns)df['asq']=asqdf=df.groupby(by=['asp']).sum()dfcum=df.cumsum()如何在同一个数据框中同时拥有总和和cumsum。完全不清楚如何做到这一点。下面是我想要的asqsumcumsumasp0202012

python - 如何获取 pandas .p​​lot(kind ='kde') 的输出?

当我绘制我使用的Pandas系列的密度分布时.plot(kind='kde')是否可以获取该图的输出值?如果是,该怎么做?我需要绘制的值。 最佳答案 .plot(kind='kde')没有输出值,它返回一个axes对象。可以通过绘图中matplotlib.lines.Line2D对象的_x和_y方法访问原始值In[266]:ser=pd.Series(np.random.randn(1000))ax=ser.plot(kind='kde')In[265]:ax.get_children()#itisthe3ndobjectOut[2

python - 将组总计添加到 Pandas 中的数据框的最佳方法

我有一个简单的任务,我想知道是否有更好/更有效的方法来完成。我有一个看起来像这样的数据框:GroupScoreCount0A51001A1502A353B1404B2205B160我想添加一个包含组总计数值的列:GroupScoreCountTotalCount0A51001551A1501552A351553B1401204B2201205B160120我这样做的方式是:Grouped=df.groupby('Group')['Count'].sum().reset_index()Grouped=Grouped.rename(columns={'Count':'TotalCount'

python - 在 Pandas DATAFRAME 中移动列

我已将数据从csv文件读取到一个由25000多行和15列组成的数据框中,我需要将所有行(包括最左边的->索引)向右移动一列,以便我得到一个空索引并能够用整数填充它。然而,列的名称应该留在同一个地方。所以,基本上我需要将除列名以外的所有内容都向右移动一个位置。我试图重新索引它,但出现错误:ValueError:cannotreindexfromaduplicateaxis有什么办法吗? 最佳答案 在pandas中,您只能在右侧创建一列,除非您在两个数据框之间进行连接。然后您可以根据自己的喜好重新排列。importpandasaspdd

python - 如何删除 pandas 数据框中具有重复列值的行?

我有一个pandas数据框,看起来像这样。Column1Column2Column30cat1C1dog1A2cat1B我想确定cat和bat是重复的相同值,因此想删除一条记录并仅保留第一条记录。结果数据框应该只有。Column1Column2Column30cat1C1dog1A 最佳答案 将drop_duplicates与带有列列表的subset结合使用以检查重复项,并使用keep='first'保留第一个重复项。如果dataframe是:df=pd.DataFrame({'Column1':["'cat'","'toy'","

python - 如何一次检测和删除 pandas 数据帧每一列中的异常值?

这个问题在这里已经有了答案:DetectandexcludeoutliersinapandasDataFrame(18个答案)关闭12个月前。我有一个包含六列的pandas数据框,我知道每列中都有一些异常值。所以我有这两行代码,它们几乎可以做我想做的事情。但它只从数据框的一列中删除异常值。那么,如果我想从每一列中一起删除异常值怎么办?df=pd.DataFrame({'stlines':np.random.normal(size=533)})df=df[np.abs(df.stlines-df.stlines.mean())执行此操作的优雅方法是什么?

python - 在 Python 中的 Pandas 中实现 R scale 函数?

R的scale函数在pandas中的有效等价物是什么?例如newdf用Pandas写的?有没有使用transform的优雅方式? 最佳答案 缩放在机器学习任务中很常见,因此在scikit-learn的preprocessing模块中实现。您可以将pandasDataFrame传递给它的scale方法。唯一的“问题”是返回的对象不再是DataFrame,而是一个numpy数组;如果您想将其传递给机器学习模型(例如SVM或逻辑回归),这通常不是真正的问题。如果您想保留DataFrame,则需要一些解决方法:fromsklearn.pre