草庐IT

dataframe

全部标签

python - 带有分类标记的行/列的散点图 pandas DataFrame

我想使用matplotlib生成带有分类行和列标签的pandasDataFrame散点图。示例DataFrame如下所示:importpandasaspddf=pd.DataFrame({"a":[1,2],"b":[3,4]},index=["c","d"])#ab#c12#d34标记大小是各个DataFrame值的函数。到目前为止,我想出了一个笨拙的解决方案,基本上是枚举行和列,绘制数据,然后重建标签:flat=df.reset_index(drop=True).T.reset_index(drop=True).T.stack().reset_index()#level_0leve

python - 如果另一列中的相应值也为 NaN,则将一列中的所有值设置为 NaN

目标是通过将一列中的所有值设置为NaN来维护两列之间的关系。具有以下数据框:df=pd.DataFrame({'a':[np.nan,2,np.nan,4],'b':[11,12,13,14]})ab0NaN1112122NaN133414维护从a列到b列的关系,其中更新所有NaN值导致:ab0NaNNaN12122NaNNaN3414实现所需行为的一种方法是:df.b.where(~df.a.isnull(),np.nan)有没有其他方法可以维持这样的关系? 最佳答案 您可以在NaN行上使用mask。In[366]:df.mask

python - 在 json 中存储 pandas 数据框时保持列和行顺序

当使用to_json将数据存储在json对象中,并使用read_json读回时,返回的行和列按字母顺序排序。有没有办法让结果保持有序或在检索时重新排序? 最佳答案 您可以使用orient='split',它将索引和列信息存储在列表中,列表保持顺序:In[34]:dfOut[34]:ACB501243453678In[35]:df.to_json(orient='split')Out[35]:'{"columns":["A","C","B"],"index":[5,4,3],"data":[[0,1,2],[3,4,5],[6,7,8

python - 将 SKLearn 癌症数据集加载到 Pandas DataFrame 中

我正在尝试根据键(target_names、target和DESCR)加载sklearn.dataset,但缺少一列。我尝试了各种方法来包含最后一列,但有错误。importnumpyasnpimportpandasaspdfromsklearn.datasetsimportload_breast_cancercancer=load_breast_cancer()printcancer.keys()thekeysare['target_names','data','target','DESCR','feature_names']data=pd.DataFrame(cancer.data,

python - 删除列值类型为字符串 Pandas 的行

我有一个Pandas数据框。我的专栏之一应该只是花车。当我尝试将该列转换为float时,系统提醒我其中有字符串。我想删除此列中的值为字符串的所有行... 最佳答案 将convert_objects与参数convert_numeric=True结合使用,这会将任何非数值强制转换为NaN:In[24]:df=pd.DataFrame({'a':[0.1,0.5,'jasdh',9.0]})dfOut[24]:a00.110.52jasdh39In[27]:df.convert_objects(convert_numeric=True)O

python - 如何按唯一组拆分数据框并保存到 csv

我有一个pandas数据框,我想对其进行迭代。我的数据框的一个简化示例:chrstartendGeneValueMoreDatachr1123123HAPPY41.13.4chr1125129HAPPY45.94.5chr1140145HAPPY39.34.1chr1342355SAD34.29.0chr1360361SAD44.38.1chr1390399SAD29.07.2chr1400411SAD35.66.5chr1462470LEG20.02.7我想遍历每个独特的基因并创建一个名为:forGeneindf:##thisiswhereIneedthemosthelpOutFil

python - 如何根据 PySpark 中的数组值进行过滤?

我的架构:|--Canonical_URL:string(nullable=true)|--Certifications:array(nullable=true)||--element:struct(containsNull=true)|||--Certification_Authority:string(nullable=true)|||--End:string(nullable=true)|||--License:string(nullable=true)|||--Start:string(nullable=true)|||--Title:string(nullable=true)

python - Pandas:创建数据框而不按字母顺序自动排序列名

我正在创建一个初始pandas数据框来存储从其他代码生成的结果:例如result=pd.DataFrame({'date':datelist,'total':[0]*len(datelist),'TT':[0]*len(datelist)})使用datelist预定义列表。然后其他代码会为每个date输出一些total和TT的数字,我将把它存储在result中数据框。所以我希望第一列是date,第二列是total,第三列是TT。但是,pandas会在创建时自动将其按字母顺序重新排序为TT、date、total。虽然之后我可以再次手动重新排序,但我想知道是否有更简单的方法一步完成。我觉得

Python:如何将 .mean 的特定列添加到数据框

如何将b和c的方法添加到我的数据框中?我尝试了合并,但它似乎没有用。所以我想用df.groupBy('date').mean()的结果将两个额外的列b_mean和c_mean添加到我的数据框中数据框abcdate023511591123711我有以下代码importpandasaspda=[{'date':1,'a':2,'b':3,'c':5},{'date':1,'a':5,'b':9,'c':1},{'date':1,'a':3,'b':7,'c':1}]df=pd.DataFrame(a)x=df.groupby('date').mean()编辑:期望的输出如下df.group

python - 在python中将字典转换为排序字典

我想在python中将字典转换为排序的字典data=pandas.read_csv('D:\myfile.csv')forcolname,dtypeindata.dtypes.to_dict().iteritems():ifdtype=='object':printcolnamecount=data[colname].value_counts()d=dict((str(k),int(v))fork,vincount.iteritems())f=dict(sorted(d.iteritems(),key=lambdaitem:item[1],reverse=True)[:5])print