gpt4 book ai didi

带有 NaNs 而不是重复值的 Python pandas 数据框 to_csv

转载 作者:太空宇宙 更新时间:2023-11-04 00:20:48 24 4
gpt4 key购买 nike

我有一个 header DataFrame df_h

df_h = pd.DataFrame({'k':[1,2],'h1':['a','d'],'h2':['b','e'],'h3':['c','f']})

k h1 h2 h3
0 1 a b c
2 2 d e f

和一个详细的DataFrame df_d

df_d = pd.DataFrame({'k':[1,1,2,2],'d1':[10,11,12,13],'d2':[20,21,22,23],'d3':[30,31,32,33]})

k d1 d2 d3
0 1 10 20 30
1 1 11 21 31
2 2 12 22 32
3 2 13 23 33

然后我在 k 上的 df 中加入了他们

df = df_h.merge(df_d, how='left', on='k')

k h1 h2 h3 d1 d2 d3
0 1 a b c 10 20 30
1 1 a b c 11 21 31
2 2 d e f 12 22 32
2 2 d e f 13 23 33

我想要 to_csv 它,但我需要它以这种方式结束:

    k  h1  h2  h3  d1  d2  d3
0 1 a b c 10 20 30
1 11 21 31
2 2 d e f 12 22 32
2 13 23 33

没有重复的 df_h 行。

to_csv 上有选项吗?或者我需要在 df 上做什么才能让它看起来像那样?

注释。

h1h2h3d1d2<上可能有重复值,或 d3

k不会在 df_h 上重复。

最佳答案

根据您的结果,您可以使用 pd.DataFrame.duplicated应用掩码和 .loc 访问器来更新:

cols = ['k', 'h1', 'h2', 'h3']
df.loc[df.duplicated(cols), cols] = ''

# k h1 h2 h3 d1 d2 d3
# 0 1 a b c 10 20 30
# 1 11 21 31
# 2 2 d e f 12 22 32
# 2 13 23 33

然后像往常一样使用df.to_csv()

关于带有 NaNs 而不是重复值的 Python pandas 数据框 to_csv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49184147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com