草庐IT

dataframe

全部标签

python - 'CSV 不存在' - Pandas DataFrame

这个问题在这里已经有了答案:WindowspathinPython(5个答案)关闭4年前。我无法将csv文件读取到pandas数据框中。我是Pandas的新手,这阻碍了我的进步。我已阅读文档并搜索解决方案,但我无法继续。我尝试了以下无济于事......importpandasaspdimportnumpyasnppd.read_csv('C:\Users\rcreedon\Desktop\TEST.csv')pd.read_csv("C:\Users\rcreedon\Desktop\TEST.csv")和带/不带引号的类似排列。它吐出一个以以下结尾的大型复合错误:IOError:Fi

python - long() 的 pandas 无效文字,基数为 10 错误

我正在尝试这样做:df['Num_Detections']=df['Num_Detections'].astype(int)我得到以下错误:ValueError:invalidliteralforlong()withbase10:'12.0'我的数据看起来如下:>>>df['Num_Detections'].head()Out[6]:sku_nameDOBRIYMORSGRAPE-CRANBERRY-RASBERRY1L12.0AQUAMINERALE5.0L9.0DOBRIYPINEAPPLE1.5L2.0FRUKT.SADAPPLE0.95L154.0DOBRIYPEACH-APP

python - 删除以开头的列

我有一个包含多列的数据框,例如:Prod_AProd_BProd_CStateRegion110111我想删除所有以Prod_开头的列,(我不能按名称选择或删除,因为数据框有200个变量)可以这样做吗?谢谢 最佳答案 使用startswith对于掩码,然后使用loc和booleanindexing删除列:df=df.loc[:,~df.columns.str.startswith('Prod')]print(df)StateRegion111 关于python-删除以开头的列,我们在St

python - 如何使用 Pandas 选择所有非 NaN 列和非 NaN 最后一列?

如果标题有点困惑,请原谅。假设我有test.h5。以下是使用df.read_hdf('test.h5','testdata')读取此文件的结果01234560123444111321NaNNaNNaN112234113672132900321211254332145NaNNaN我想选择最后一个非Nan列。我的预期结果是这样的03211900245我还想选择除最后一个非NaN列之外的所有列。我的预期结果大概是这样的。它可能在numpy数组中,但我还没有找到任何解决方案。012345601234441111122341136721323212112543321我在线搜索并找到df.iloc

python - 获取 Dataframe Pandas 中最高值的列和行索引

我想知道是否有办法找到数据框中最大值的位置(列和行索引)。因此,例如,如果我的数据框如下所示:ABCDE01009112618010671591220671562331251510584732872251如何使用Pandas获得如下所示的结果:[0,'A']? 最佳答案 使用np.argmaxNumPy的argmax可以提供帮助:>>>df.stack().index[np.argmax(df.values)](0,'A')步骤df.values是一个二维NumPy数组:>>>df.valuesarray([[100,9,1,12,

python - 计算多列python中的字符串实例

我有以下简单的数据框importpandasaspddf=pd.DataFrame({'column_a':['a','b','c','d','e'],'column_b':['b','x','y','c','z']})column_acolumn_b0ab1bx2cy3dc4ez我希望显示出现在两列中的字符串:result=("b","c")谢谢 最佳答案 交叉路口这概括了任意数量的列。set.intersection(*map(set,map(df.get,df))){'b','c'}

python - 使用 pandas Grouper 按十年开始对 DataFrame 进行分组

我有一个从01-01-1973到12-31-2014的日常观察数据框。一直在使用PandasGrouper,到目前为止,每个频率的一切都运行良好:我想按70年代、80年代、90年代等年代分组。我试着这样做importpandasaspddf.groupby(pd.Grouper(freq='10Y')).mean()但是,这会将它们分组为73-83、83-93等。 最佳答案 pd.cut还可以指定具有指定开始年份的常规频率。importpandasaspddfdateval01970-01-0100:01:18111979-12-3

python - Pandas Dataframe 中的 MultiIndex Groupby

我有一个数据集,其中包含按年份划分的国家和经济指标统计数据,组织方式如下:CountryMetric2011201220132014USAGDP7402USAPop.2303GBGDP8707GBPop.2600FRGDP5001FRPop.1105我如何在pandas中使用MultiIndex创建一个数据框,该数据框仅按年份显示每个国家/地区的GDP?我试过:df=data.groupby(['Country','Metric'])但它没有正常工作。 最佳答案 在这种情况下,您实际上不需要groupby。您也没有MultiInde

python - 将 Pandas DataFrame 转换为 Spark DataFrame

我之前问过一个关于如何Convertscipysparsematrixtopyspark.sql.dataframe.DataFrame的问题,并在阅读提供的答案以及thisarticle后取得了一些进展.我最终找到了以下用于将scipy.sparse.csc_matrix转换为pandas数据帧的代码:df=pd.DataFrame(csc_mat.todense()).to_sparse(fill_value=0)df.columns=header然后我尝试使用建议的语法将pandas数据帧转换为spark数据帧:spark_df=sqlContext.createDataFram

python - DataFrame的一列为字符串时设置WithCopyWarning

我收到以下代码的SettingWithCopyWarning:rain=DataFrame({'data':['1','2','3','4'],'value':[1,-1,1,1]})rain.value[rain.value虽然我没有收到警告rain=DataFrame({'data':[1,2,3,4],'value':[1,-1,1,1]})rain.value[rain.value唯一的区别是“数据”列在第一个DataFrame中是字符串,在第二个DataFrame中是数字。难道我做错了什么?有没有不同的(首选?)方法来做到这一点?至少不应该始终如一地应用警告吗?