草庐IT

dataframe

全部标签

python - Pandas 数据框 : how to aggregate a subset of rows based on value of a column

我有一个结构如下的Pandas数据框:valuelabA50B35C8D5E1F1这只是一个例子,实际数据帧更大,但遵循相同的结构。示例数据框是用这两行创建的:df=pd.DataFrame({'lab':['A','B','C','D','E','F'],'value':[50,35,8,5,1,1]})df=df.set_index('lab')我想聚合值小于给定阈值的行:所有这些行都应替换为单个行,该行的值是替换行的总和。例如,如果我选择一个阈值=6,那么预期的结果应该是这样的:valuelabA50B35C8X7#sumofD,E,F我该怎么做?我想用groupby(),但我看

python - 将 uuid 添加到 pandas DataFrame 中的新列

我想为pandasDataFrame中单个新列中的每一行添加一个uuid。这显然用相同的uuid填充了列:importuuidimportpandasaspdimportnumpyasnpdf=pd.DataFrame(np.random.randn(4,3),columns=list('abc'),index=['apple','banana','cherry','date'])df['uuid']=uuid.uuid4()print(df)abcuuidapple0.687601-1.332904-0.16601834115445-c4b8-4e64-bc96-e120abda16

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 - 如何按特定月份/日期过滤日期数据框?

所以我的代码如下:df['Dates'][df['Dates'].index.month==11]我正在做一个测试,看看我是否可以过滤月份,以便它只显示11月的日期,但这没有用。它给了我以下错误:AttributeError:'Int64Index'objecthasnoattribute'month'。如果我这样做printtype(df['Dates'][0])然后我得到类“pandas.tslib.Timestamp”,这让我相信存储在数据框中的对象类型是时间戳对象。(我不确定'Int64Index'来自哪里......因为之前的错误)我想要做的是:dataframe列包含从20

python - 在 Pandas DATAFRAME 中移动列

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

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 - 检查数据框列中的所有值是否相同

我想快速轻松地检查counts的所有列值在数据框中是否相同:在:importpandasaspdd={'names':['Jim','Ted','Mal','Ted'],'counts':[3,4,3,3]}pd.DataFrame(data=d)输出:namescounts0Jim31Ted42Mal33Ted3我只想要一个简单的条件,即如果所有计数=相同的值然后print('True')。有没有快速的方法来做到这一点? 最佳答案 一种有效的方法是将第一个值与其余值进行比较,然后使用all:defis_unique(s):a=s.

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

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

python - 来自 Pandas DataFrame 的基本 Matplotlib 散点图

如何制作DataFrame中列与该DataFrame索引的基本散点图?我正在使用python2.7。importnumpyasnpimportpandasaspdimportmatplotlib.pyplotaspltdataframe['Col'].plot()plt.show()这显示了根据我的DataFrame索引中的值(在本例中为日期)绘制的“Col”折线图。但是如何绘制散点图而不是折线图?我试过了plt.scatter(dataframe['Col'])plt.show()但是scatter()需要2个参数。那么如何将系列dataframe['Col']和我的数据帧索引传递到

python pandas 添加前导零以使所有月份均为 2 位数字

如何添加前导零,以便至少有两位数。WeekproductquantityMonth0201301coke1.511201302fanta1.722201304coke3.653201306sprite2.4104201308pepsi2.912即将上面的数据框转换为以下内容:WeekproductquantityMonth0201301coke1.5011201302fanta1.7022201304coke3.6053201306sprite2.4104201308pepsi2.912 最佳答案 使用Series的map()方法和