草庐IT

Dataframe

全部标签

python - 用 DataFrame 中的 None/null 值替换空字符串

我有一个Spark1.5.0DataFrame在同一列中混合使用null和空字符串。我想将所有列中的所有空字符串转换为null(None,在Python中)。DataFrame可能有数百列,因此我试图避免对每一列进行硬编码操作。请参阅下面的尝试,这会导致错误。frompyspark.sqlimportSQLContextsqlContext=SQLContext(sc)##CreateatestDataFrametestDF=sqlContext.createDataFrame([Row(col1='foo',col2=1),Row(col1='',col2=2),Row(col1=N

python - 用 DataFrame 中的 None/null 值替换空字符串

我有一个Spark1.5.0DataFrame在同一列中混合使用null和空字符串。我想将所有列中的所有空字符串转换为null(None,在Python中)。DataFrame可能有数百列,因此我试图避免对每一列进行硬编码操作。请参阅下面的尝试,这会导致错误。frompyspark.sqlimportSQLContextsqlContext=SQLContext(sc)##CreateatestDataFrametestDF=sqlContext.createDataFrame([Row(col1='foo',col2=1),Row(col1='',col2=2),Row(col1=N

python - 带有 bin 计数的 Pandas groupby

我有一个如下所示的DataFrame:+----------+---------+-------+|username|post_id|views|+----------+---------+-------+|john|1|3||john|2|23||john|3|44||john|4|82||jane|7|5||jane|8|25||jane|9|46||jane|10|56|+----------+---------+-------+我想将其转换为对属于某些bin的View进行计数,如下所示:+------+------+-------+-------+--------+||1-10

python - 带有 bin 计数的 Pandas groupby

我有一个如下所示的DataFrame:+----------+---------+-------+|username|post_id|views|+----------+---------+-------+|john|1|3||john|2|23||john|3|44||john|4|82||jane|7|5||jane|8|25||jane|9|46||jane|10|56|+----------+---------+-------+我想将其转换为对属于某些bin的View进行计数,如下所示:+------+------+-------+-------+--------+||1-10

python - 为什么 DataFrame 的连接会呈指数级变慢?

我有一个处理DataFrame的函数,主要用于将数据处理到存储桶中,使用pd.get_dummies(df[col])在特定列中创建特征的二进制矩阵。为了避免一次使用此函数处理我的所有数据(内存不足并导致iPython崩溃),我使用以下方法将大型DataFrame分成block:chunks=(len(df)/10000)+1df_list=np.array_split(df,chunks)pd.get_dummies(df)将根据df[col]的内容自动创建新列,每个df在df_list中。处理后,我将使用以下方法将DataFrame连接在一起:fori,df_chunkinenum

python - 为什么 DataFrame 的连接会呈指数级变慢?

我有一个处理DataFrame的函数,主要用于将数据处理到存储桶中,使用pd.get_dummies(df[col])在特定列中创建特征的二进制矩阵。为了避免一次使用此函数处理我的所有数据(内存不足并导致iPython崩溃),我使用以下方法将大型DataFrame分成block:chunks=(len(df)/10000)+1df_list=np.array_split(df,chunks)pd.get_dummies(df)将根据df[col]的内容自动创建新列,每个df在df_list中。处理后,我将使用以下方法将DataFrame连接在一起:fori,df_chunkinenum

python - 在 Python pandas 中,从 1 而不是 0 开始行索引而不创建额外的列

我知道我可以像这样重置索引df.reset_index(inplace=True)但这将从0开始索引。我想从1开始。如何在不创建任何额外列并保留index/reset_index功能和选项的情况下做到这一点?我确实不想创建一个新的数据框,所以inplace=True应该仍然适用。 最佳答案 直接分配一个新的索引数组即可:df.index=np.arange(1,len(df)+1)例子:In[151]:df=pd.DataFrame({'a':np.random.randn(5)})dfOut[151]:a00.44363810.0

python - 在 Python pandas 中,从 1 而不是 0 开始行索引而不创建额外的列

我知道我可以像这样重置索引df.reset_index(inplace=True)但这将从0开始索引。我想从1开始。如何在不创建任何额外列并保留index/reset_index功能和选项的情况下做到这一点?我确实不想创建一个新的数据框,所以inplace=True应该仍然适用。 最佳答案 直接分配一个新的索引数组即可:df.index=np.arange(1,len(df)+1)例子:In[151]:df=pd.DataFrame({'a':np.random.randn(5)})dfOut[151]:a00.44363810.0

python - 如何从另一个数据框中删除 Pandas 数据框

如何从另一个数据帧中删除一个Pandas数据帧,就像集合减法一样:a=[1,2,3,4,5]b=[1,5]a-b=[2,3,4]现在我们有两个pandas数据框,如何从df1中删除df2:In[5]:df1=pd.DataFrame([[1,2],[3,4],[5,6]],columns=['a','b'])In[6]:df1Out[6]:ab012134256In[9]:df2=pd.DataFrame([[1,2],[5,6]],columns=['a','b'])In[10]:df2Out[10]:ab012156那么我们预计df1-df2的结果将是:In[14]:dfOut[1

python - 如何从另一个数据框中删除 Pandas 数据框

如何从另一个数据帧中删除一个Pandas数据帧,就像集合减法一样:a=[1,2,3,4,5]b=[1,5]a-b=[2,3,4]现在我们有两个pandas数据框,如何从df1中删除df2:In[5]:df1=pd.DataFrame([[1,2],[3,4],[5,6]],columns=['a','b'])In[6]:df1Out[6]:ab012134256In[9]:df2=pd.DataFrame([[1,2],[5,6]],columns=['a','b'])In[10]:df2Out[10]:ab012156那么我们预计df1-df2的结果将是:In[14]:dfOut[1