草庐IT

panda_link

全部标签

python - 使用 python pandas 查找另一个数据框并返回相应的值

我有两个数据框;df1为;NameRoleJimAccountsSamPurchaseRheaSalesdf2为;NameDateJim1/1/2000Jim2/1/2000Jim3/1/2000Sam1/1/2000Sam2/1/2000Rhea1/1/2000Rhea2/1/2000我想查找df1并将输出为;NameDateRoleJim1/1/2000AccountsJim2/1/2000AccountsJim3/1/2000AccountsSam1/1/2000PurchaseSam2/1/2000PurchaseRhea1/1/2000SalesRhea2/1/2000Sal

python - 向 Pandas 数据框添加多索引并保持当前索引

我正在尝试合并来自不同参与者的时间过程数据。我迭代地为每个参与者提取一个数据框,并在循环结束时将它们连接起来。在连接之前,我想将参与者的ID添加到附加索引中。这看起来非常简单,但我找不到关于这个问题的任何信息:(我想转这个col0111.12NaN进入:colID0111.12NaN我知道我可以创建一个新索引,例如:multindex=[np.array(ID*len(data)),np.array(np.arange(len(data)))]但那是没有尽头的不雅,而且-看到我在半小时内以高频测量-甚至会变得有点慢:/我想提一下,我最近发现我的问题与thisotherquestion重

python - Pandas 根据 bool 数组就地修改列值

我知道如何根据另一列的值使用apply或np.where创建一个新列,但是有选择地更改现有列的值的方法专栏正在逃避我;我怀疑涉及df.ix?我接近了吗?例如,这是一个简单的数据框(我的有数万行)。如果名称以字母“e”结尾,我想更改“标志”列中的值(假设为“蓝色”):>>>importpandasaspd>>>df=pd.DataFrame({'name':['Mick','John','Christine','Stevie','Lindsey'],\'flag':['Purple','Red',nan,nan,nan]})[['name','flag']]>>>printdfnamef

python - 在 pandas 中保留 NaN 的同时删除重复项

当使用drop_duplicates()方法时,我减少了重复项,但也将所有NaN合并到一个条目中。如何在保留具有空条目(如np.nan、None或'')的行的同时删除重复项?importpandasaspddf=pd.DataFrame({'col':['one','two',np.nan,np.nan,np.nan,'two','two']})Out[]:col0one1two2NaN3NaN4NaN5two6twodf.drop_duplicates(['col'])Out[]:col0one1two2NaN 最佳答案 尝试df

python - 使用 pandas/matplotlib 或 seaborn 排序的条形图

我有一个包含5000个产品和50个特征的数据集。其中一列是“颜色”,该列中有100多种颜色。我正在尝试绘制条形图以仅显示前10种颜色以及每种颜色有多少产品。top_colors=df.colors.value_counts()top_colors[:10].plot(kind='barh')plt.xlabel('No.ofProducts');使用Seaborn:sns.factorplot("colors",data=df,palette="PuBu_d");1)有更好的方法吗?2)我如何用Seaborn复制它?3)我如何绘制最高计数在顶部(即条形图最顶部的黑色)

python - Pandas groupby : percentage above threshold

我有一个DataFrame,我希望在其上使用groupby,但我正在寻找一些不寻常的函数来进行聚合。我想让每个组中的观察百分比超过某个阈值。例如,阈值为0时,DataFramedf=pd.DataFrame(dict(day=[1,1,1,2,2,2,3,3,3,4],value=[0,4,0,4,0,4,0,4,0,4]))dfdayvalue010114210324420524630734830944应该变成df_group=pd.DataFrame(dict(day=[1,2,3,4],value=[.33,.67,.33,1.0]))df_groupdayvalue010.33

python - Pandas:当列包含 numpy 数组时聚合

我使用的是pandasDataFrame,其中一列包含numpy数组。当尝试通过聚合对该列求和时,我收到一条错误消息,指出“必须产生聚合值”。例如importpandasaspdimportnumpyasnpDF=pd.DataFrame([[1,np.array([10,20,30])],[1,np.array([40,50,60])],[2,np.array([20,30,40])],],columns=['category','arraydata'])这按照我期望的方式工作:DF.groupby('category').agg(sum)输出:arraydatacategory1[

python - 比较包含 nan 的 pandas 系列是否相等?

我的应用程序需要比较有时包含nans的Series实例。这会导致使用==的普通比较失败,因为nan!=nan:importnumpyasnpfrompandasimportSeriess1=Series([1,np.nan])s2=Series([1,np.nan])>>>(Series([1,nan])==Series([1,nan])).all()False比较此类系列的正确方法是什么? 最佳答案 这个怎么样。首先检查NaN是否在同一位置(使用isnull):In[11]:s1.isnull()Out[11]:0False1Tr

python - 在 Pandas 中读取具有不同工作表名称的多个 excel 文件

要从目录中读取文件,请尝试以下操作:importosimportpandasaspdpath=os.getcwd()files=os.listdir(path)files['wind-diciembre.xls','stat_noviembre.xls','stat_marzo.xls','wind-noviembre.xls','wind-enero.xls','stat_octubre.xls','wind-septiembre.xls','stat_septiembre.xls','wind-febrero.xls','wind-marzo.xls','wind-julio.xl

python - 将新行添加到 Pandas 数据框

我有两个数据帧df1和df2是从同一来源计算的,但使用不同的方法,因此大多数值相同,但有一些差异。现在,我想根据df2中的值更新df1。例如:df1=pd.DataFrame({'name':['john','deb','john','deb'],'col1':[490,500,425,678],'col2':[456,625,578,789],'col3':['TN','OK','OK','NY']})namecol1col2col3john490456TNdeb500625OKjohn425578OKdeb678789NYdf2=pd.DataFrame({'name':['deb