Python将系列序列转换为DataFrames

时间:2018-07-05 03:41:17

标签: python pandas

我已经从groupby和apply方法创建了一个熊猫DataFrame,现在我试图将此DataFrame的子集提取到新的DataFrame中。我创建了一个提取数据的函数,但是我需要,但是它以一系列序列的形式返回数据。不幸的是,我不能直接使用dict将这些系列转换为DataFrame,因为每个系列都是一行,而不是一列。我已经发布了该功能的代码。下面非常感谢您可能提供的任何帮助。

    def sel(df):
      for i in range(len(df)):
        if len(df.iloc[i][4].split()) == 3:
          return df.iloc[i][1:4]

然后我要运行此函数并将其分配给变量。

1 个答案:

答案 0 :(得分:0)

看起来您想从第4列中包含三个单词的行中提取第1列至第3列,对吗?您可以没有任何循环。

df = pd.DataFrame([[0, 1,  2,  3, "a b c"],
                   [4, 5,  6,  7, "a b"],
                   [8, 9, 10, 11, "d e f"]])
df[df[4].str.split().str.len() == 3].iloc[:, 1:4]
#   1   2   3
#0  1   2   3
#2  9  10  11