草庐IT

pyspark-dataframes

全部标签

python - 用同一列的平均值填充 Pyspark 数据框列空值

有了这样的数据框,rdd_2=sc.parallelize([(0,10,223,"201601"),(0,10,83,"2016032"),(1,20,None,"201602"),(1,20,3003,"201601"),(1,20,None,"201603"),(2,40,2321,"201601"),(2,30,10,"201602"),(2,61,None,"201601")])df_data=sqlContext.createDataFrame(rdd_2,["id","type","cost","date"])df_data.show()+---+----+----+--

python - Pandas DataFrame 排序忽略大小写

我有一个用Python编写的Pandas数据框。dataframe的内容来自here.我稍微修改了“单个”列中第一个字母的大小写。这是我所拥有的:importpandasaspddf=pd.read_csv('test.csv')printdfPositionArtistSingleYearWeeks1FrankieLaineIBelieve195318weeks2BryanAdamsIDoItforYou199116weeks3WetWetWetloveIsAllAround199415weeks4Drake(feat.Wizkid&Kyla)OneDance201615weeks5

python - 在不添加新日期的情况下重新采样日内 pandas DataFrame

我想在不添加新日期的情况下对一些日内数据进行下采样df.resample('30Min')会增加周末等,这是不受欢迎的。有什么办法吗? 最佳答案 组合的groupby/resample可能有效:In[22]:dates=pd.date_range('01-Jan-2014','11-Jan-2014',freq='T')[0:-1]...:dates=dates[dates.dayofweek 关于python-在不添加新日期的情况下重新采样日内pandasDataFrame,我们在St

python Pandas : Getting the locations of a value in dataframe

假设我有以下数据框:'a''b'000110201301有没有办法获取存在特定值的索引/列值?例如,类似于以下内容:values=df.search(1)将有values=[(1,'a'),(2,'b'),(3,'b')]。 最佳答案 df[df==1].stack().index.tolist()产量[(1,'a'),(2,'b'),(3,'b')] 关于pythonPandas:Gettingthelocationsofavalueindataframe,我们在StackOverfl

python - 在 Pandas Dataframe 中删除具有低标准偏差的列

有没有办法不用写for循环就可以做到这一点?假设我们有以下数据:d={'A':{-1:0.19052041339798062,0:-0.0052531481871952871,1:-0.0022017467720961644,2:-0.051109629013311737,3:0.18569441222621336},'B':{-1:0.029181417300734112,0:-0.0031021862533310743,1:-0.014358516787430284,2:0.0046386615308068877,3:0.056676322314857898},'C':{-1:0.

python - DataFrame.drop_duplicates 和 DataFrame.drop 不删除行

我已将csv读入pandas数据框,它有五列。某些行仅在第二列中具有重复值,我想从数据框中删除这些行,但drop和drop_duplicates都不起作用。这是我的实现:#ReadCSVdf=pd.read_csv(data_path,header=0,names=['a','b','c','d','e'])printSeries(df.b)dropRows=[]#Sanitizethedatatogetridofduplicatesforindx,valinenumerate(df.b):#forallthevaluesif(indx==0):#skipfirstindxcontin

python - 在 Panda Dataframe 中附加 bool 列

我正在学习pandas,但在这里遇到了这个问题。我创建了一个数据框来跟踪所有用户以及他们做某事的次数。为了更好地理解问题,我创建了这个示例:importpandasaspddata=[{'username':'me','bought_apples':2,'bought_pears':0},{'username':'you','bought_apples':1,'bought_pears':1}]df=pd.DataFrame(data)df['bought_something']=df['bought_apples']>0ordf['bought_pears']>0在最后一行中,我想添

python - pandas.Series() 使用 DataFrame 列创建返回 NaN 数据条目

我正在尝试使用简化后的代码将数据帧转换为系列:dates=['2016-1-{}'.format(i)foriinrange(1,21)]values=[iforiinrange(20)]data={'Date':dates,'Value':values}df=pd.DataFrame(data)df['Date']=pd.to_datetime(df['Date'])ts=pd.Series(df['Value'],index=df['Date'])print(ts)然而,打印输出看起来像这样:Date2016-01-01NaN2016-01-02NaN2016-01-03NaN20

Python 类型错误 : cannot convert the series to <class 'int' > when trying to do math on dataframe

我有一个看起来像这样的数据框:defaultdict(,{'XYF':TimeUSGyrXGyrYGyrZAccX\02071465700.0008329140.001351716-0.0004189798-0.65118312071866710.0019627870.001242457-0.0001859666-0.642349722072267919.520243E-050.001076498-0.0005664826-0.636041232072464740.00010930590.0016169170.0003615251-0.634287542072862440.001412

python - 通过放大设置 DataFrame 值

我有两个DataFrames(带有DatetimeIndex),我想用第二帧(较新的)的数据更新第一帧(较旧的)。对于旧框架中已包含的行,新框架可能包含更新的数据。在这种情况下,旧帧中的数据应该被新帧中的数据覆盖。此外,较新的框架可能比第一个框架具有更多的列/行。在这种情况下,旧框架应该被新框架中的数据放大。Pandasdocs状态,那个“.loc/.ix/[]操作可以在为该轴设置不存在的键时执行放大”和“DataFrame可以通过.loc在任一轴上放大”但是这似乎不起作用并抛出一个KeyError。示例:In[195]:df1Out[195]:ABC2015-07-0912:00:0