【python-熊猫:重组DataFrames】教程文章相关的互联网学习教程文章

python – 使每日pandas DataFrame接收相同的Weekly(重新采样)DataFrame值【代码】

鉴于以下每日价格DataFrame:open high low close volume date 2017-11-01 44.66 44.75 43.56 43.56 1000 2017-11-03 43.56 43.74 42.19 42.93 2500 2017-11-06 43.15 43.43 42.45 42.66 2000 2017-11-07 42.40 42.70 41.19 42.25 1500 2017-11-08 42.50 43.50 41.77 43.26 200 2017-11-09 43.46 43.46 41.94 43.00 5000 2017-11-10...

python – pandas srt.lower()不处理dataframe列【代码】

我正在使用Kaggle提供的Titanic数据集.我在数据框中有它,我想将“性别”列的大小写更改为小写.我正在使用以下代码import pandas as pddf = pd.read_csv('titanic.csv') print dfFull['sex'].unique() df.sex.str.lower()#check if it worked print df['sex'].unique()并尝试 DF [ ‘性’].str.lower() 但是当我运行df [‘sex’] .unique()我得到三个独特的值[男,女,女]. 为什么我的代码不会降低字符串的大小写并将其保存回数据帧,所...

python – 根据列值是否在另一列中,向PySpark DataFrame添加列【代码】

我有一个PySpark DataFrame,其结构由[('u1', 1, [1 ,2, 3]), ('u1', 4, [1, 2, 3])].toDF('user', 'item', 'fav_items')我需要添加一个带有1或0的列,具体取决于’item’是否在’fav_items’中. 所以我想要[('u1', 1, [1 ,2, 3], 1), ('u1', 4, [1, 2, 3], 0)]我如何查找第二列到第三列来决定值以及如何添加它?解决方法:以下代码执行所请求的任务.定义了一个用户定义的函数,它接收两列DataFrame作为参数.因此,对于每一行,搜索项目是...

python – 使用Pandas替换dataframe列中的特定值【代码】

我有一个数据框df,其中一列名为“Num_of_employees”,其值为50-100,200-500等.我发现数据中的值很少.无论员工人数为1-10,数据均为10月1日.此外,无论价值应该是11-50,数据都是11月50日.我如何使用熊猫纠正这个问题?解决方法:这种“查找和替换”的干净语法使用dict,asdf.Num_of_employees = df.Num_of_employees.replace({"10-Jan": "1-10","Nov-50": "11-50"})

Python Pandas:是否有更快的方法根据标准拆分和重组DataFrame?【代码】

我想基于特定列“ContactID”对此DataFrame进行分组,但如果组的列“PaymentType”不包含特定值,那么我想从DataFrame中删除整个组. 我有这样的事情:UniqueID = data.drop_duplicates('ContactID')['ContactID'].tolist() OnlyRefinance=[] for i in UniqueID:splits = data[data['ContactID']==i].reset_index(drop=True)if any(splits['PaymentType']==160):OnlyRefinance.append(splits) OnlyRefinance = pd.concat(OnlyRefinanc...

python – PySpark Dataframe:逗号点【代码】

我在浮点数中使用逗号导入数据,我想知道如何将’逗号转换为点.我正在使用pyspark数据帧,所以我尝试了这个:commaToDot = udf(lambda x : str(x).replace(',', '.'), FloatType())myData.withColumn('area',commaToDot(myData.area))它绝对不起作用.那么我们可以直接用spark替换数据框中的数据,还是应该转换为numpy类型还是其他什么? 谢谢 !解决方法:我想你错过了from pyspark.sql.types import FloatType正如Pushkr建议udf with ...

python – 将pandas系列中的嵌套列表解压缩到新的DataFrame中【代码】

我有一个数据帧df,它的列[“shares”]似乎是列表中的列表0 [[10], [9], [9]] 1 [[3], [3], [2]] 2 [[17], [17], [18]]如何将此列拆分为3列:col1 col2 col3 10 9 9 3 3 2 17 17 18我试过df [“shares”].apply(literal_eval)但它给我错误的节点或字符串错误:解决方法:您需要解压缩列表并重新构建框架.cols = ['col1', 'col2', 'col3'] pd.DataFrame(([c[0] for c in r] for r in df.shares.tolist(...

python – pandas – 检查dataframe groupby中的非唯一值【代码】

我有这个简单的数据帧df:a,b 1,2 1,3 1,4 1,2 2,1 2,2 2,3 2,5 2,5我想检查b中是否有关于每个组的重复项.到目前为止,我做了以下事情:g = df.groupby('a')['b'].unique()返回:a 1 [2, 3, 4] 2 [1, 2, 3, 5]但我想要的是一个列表,对于a中的每个组,在b中出现多次.在这种情况下的预期输出将是:a 1 [2] 2 [5]解决方法: g=df.groupby('a')['b'].value_counts() g.where(g>1).dropna()

从PySpark DataFrame中的Python列表中删除元素【代码】

我试图从Python列表中删除一个元素:+---------------+ | sources| +---------------+ | [62]| | [7, 32]| | [62]| | [18, 36, 62]| |[7, 31, 36, 62]| | [7, 32, 62]|我希望能够从上面列表中的每个列表中删除元素rm.我写了一个函数,可以为列表列表做到这一点:def asdf(df, rm):temp = dffor n in range(len(df)):temp[n] = [x for x in df[n] if x != rm]return(temp)删除rm = 1:a = [[...

python – 从另一个数据帧中减去一个Pandas Dataframe中的属性值【代码】

此问题包含3个单独的数据帧.df1代表产品1,2,3的’Total’,包含’value1′,’value2′df2代表产品1,2,3的’Customer1′,包含’value1′,’value2′df3代表产品1,2,3的’Customer2′,包含’value1′,’value2′ df2& df3基本上是df1的子集. 我想创建另一个数据帧,从df1中减去df2& df3并标记这个df4.我希望df4成为“市场”专栏中的“剩余客户”. 这就是我到目前为止所做的import pandas as pdd1 = {'Market': ['Total', 'Total','Tota...

python – AttributeError:’DataFrame’对象没有属性’to_datetime’【代码】

我想将我的pandas数据帧的’Time’列中的所有项目从UTC转换为Eastern时间.但是,根据this stackoverflow帖子中的答案,pandas 0.20.3中不知道某些关键字.总的来说,我该怎么做呢?tweets_df = pd.read_csv('valid_tweets.csv')tweets_df['Time'] = tweets_df.to_datetime(tweets_df['Time']) tweets_df.set_index('Time', drop=False, inplace=True)错误是:tweets_df['Time'] = tweets_df.to_datetime(tweets_df['Time'])File "/scra...

python – 在pandas DataFrame中屏蔽max之前出现的所有值【代码】

我想从pd.DataFrame.idxmax获取结果并使用它来更改索引前的值,并使用最大值. 如果我有df:Mule Creek Saddle Mtn. Calvert Creek Date 2011-05-01 23.400000 35.599998 8.6 2011-05-02 23.400000 35.599998 8.0 2011-05-03 23.400000 35.700001 7.6 2011-05-04 23.400000 50.000000 7.1 2011-05-05 23.100000...

Python pandas Dataframe来自csv的第一行和最后一行【代码】

全部 – 我期待从一个非常大的csv的第一行和最后一行创建一个pandas DataFrame.本练习的目的是能够轻松地从这些csv文件中的第一个和最后一个条目中获取一些属性.我使用以下方法抓住csv的第一行没有问题:pd.read_csv(filename, nrows=1)我也可以通过各种方式抓取文本文件的最后一行,例如:with open(filename) as f:last_line = f.readlines()[-1]但是,将这两个东西放到一个DataFrame中会让我感到厌恶.有关如何最好地实现这一目标...

python – 在pandas dataframe中查找最新日期【代码】

我有一个csv文件,我读入了pandas数据帧.日期和时间列在“DateTime”列中.我想找到创建时间序列图的索引的最新和最近日期.大熊猫是否有能够返回最近和最近日期的功能? 编辑:我已经尝试过使用min和max.他们给出了错误答案.>>> f['Start Date'] Trip ID 4576 8/29/2013 14:13 4607 8/29/2013 14:42 4130 8/29/2013 10:16 4251 8/29/2013 11:29 4299 8/29/2013 12:02 4927 8/29/2...

一种改变Pandas.DataFrame的Pythonic方法【代码】

我左边有一个Pandas.DataFrame.我想把它重塑成右边的形式.每个标签(a,b和c)的值的数量是相同的. 我现在正在做的是创建一个新的DataFrame,然后通过添加每个列将每个标签的值附加到其上.它确实有效,但据我所知,Pandas.DataFrame非常强大,我相信必须有更多Pythonic方式来完成任务. 任何帮助将不胜感激!解决方法:一种方法是使用cumcount然后使用pivot_table:In [11]: df["count"] = df.groupby("label").cumcount()In [12]: df Out[1...