我有数据帧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 中,以便:
我设法在下面获得了所需的结果(我知道有一个int
tofloat
转换,但这对我来说并不麻烦):
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) 我有两个任意形状的 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
。我如何连接这些,以便我可以实现具有所有值且没有NaN
s的 DataFrame :
A B C
0 A0 B0 C0
1 A1 B1 C1
2 A2 B2 C2
3 …
Run Code Online (Sandbox Code Playgroud)