小编Lev*_*ich的帖子

将包含 Pandas DataFrame 中列表列表的单元格解包到新 DataFrame 的单独行和列中

我有数据帧df

    a  b                   c
0   7  5  [[-4, 7], [-5, 6]]
1  13  5  [[-9, 4], [-3, 7]]
Run Code Online (Sandbox Code Playgroud)

我想将带有列表单元格列表(列“c”)的列展平到一个单独的 DataFrame 中,以便:

  1. 单独的列表对应于各个条目
  2. 单独列表的元素被拆分为新的列

我设法在下面获得了所需的结果(我知道有一个inttofloat转换,但这对我来说并不麻烦):

    a  b    d    e
0   7  5 -4.0  7.0
1   7  5 -5.0  6.0
2  13  5 -9.0  4.0
3  13  5 -3.0  7.0
Run Code Online (Sandbox Code Playgroud)

但是,我认为我这样做的方式并不理想,因为它首先使用了大量代码,其次使用iterrows().

下面是我的代码:

old_cols = list(df)
old_cols.remove('c')
new_cols = ['d', 'e']
all_cols = old_cols + new_cols
df_flat = pd.DataFrame(columns=all_cols)
for idx, row in df.iterrows():
    data …
Run Code Online (Sandbox Code Playgroud)

python dataframe python-3.x pandas

4
推荐指数
1
解决办法
667
查看次数

连接具有重叠索引但从不重叠值的 Pandas DataFrames

我有两个任意形状的 DataFrame:

   A     B    C
0  A0   B0   C0
1  A1   B1   C1
2  A2   B2  NaN
3  A3  NaN  NaN
4  A4  NaN  NaN
Run Code Online (Sandbox Code Playgroud)

     A    B   C
2  NaN  NaN  C2
3  NaN   B3  C3
4  NaN   B4  C4
5   A5   B5  C5
6   A6   B6  C6
Run Code Online (Sandbox Code Playgroud)

两个 DataFrame 具有重叠索引。在有重叠的地方,对于给定的列,NaN一个 DataFrame 中有一个非,而另一个 DataFrame 中有一个NaN。我如何连接这些,以便我可以实现具有所有值且没有NaNs的 DataFrame :

    A    B    C
0  A0   B0   C0
1  A1   B1   C1
2  A2   B2   C2
3 …
Run Code Online (Sandbox Code Playgroud)

python concatenation dataframe python-3.x pandas

2
推荐指数
1
解决办法
2371
查看次数

标签 统计

dataframe ×2

pandas ×2

python ×2

python-3.x ×2

concatenation ×1