推荐 最新
世界唯一的

今天被一个看似简单的df转字典难住了?

今天被一个看似简单的问题难住了,一个df,表头为['date','code','name','涨幅','换手率'], 希望转换成字典方便使用 dic= df.set_index('date').T.to_dict("list") dic.get(dt,[])返回的只有一行数据 发现不对,上面dic将表中数据只取了最后一行,df中date列有重复的,每个日期都有多行,期望dic.get(dt,[])返回二维列表(多行数据),用groupby好像解决不了这个问题,要遍历生成字典吗?

0
1
0
浏览量108
sumous_01

pandas使用 DataFrame 自身的某一行修改另一行的值,被修改的那一行会被清空?

df1 为: A B C D 0 A0 B0 C0 D0 1 A1 B1 C1 D1 2 A2 B2 C2 D2 3 A3 B3 C3 D3 df2 为: A B C D 1 A1 B4 C4 D4 2 A5 B5 C5 D5 3 A6 B6 C6 None 4 A7 B7 C7 D7 如果想要修改 df2 中第一行的值,使用: "df2.loc[df2['A']=='A1', ('B', 'C', 'D')] = df2.loc[df2['A']=='A5', ('B', 'C', 'D')]",df2 会变为: A B C D 1 A1 NaN NaN NaN 2 A5 B5 C5 D5 3 A6 B6 C6 None 4 A7 B7 C7 D7 第一行的值全部变为了空值,但是同样的句式,使用 df1 给 df2 的第一行赋值: "df2.loc[df2['A']=='A1', ('B', 'C', 'D')] = df1.loc[df1['A']=='A1', ('B', 'C', 'D')]",则可以成功赋值,df2 为: A B C D 1 A1 B1 C1 D1 2 A5 B5 C5 D5 3 A6 B6 C6 None 4 A7 B7 C7 D7 另外,如果将第一个赋值语句改为:"df2.loc[df2['A']=='A1', ('B', 'C', 'D')] = df2.loc[df2['A']=='A5', ('B', 'C', 'D')].values",也是可以赋值成功的: A B C D 1 A1 B5 C5 D5 2 A5 B5 C5 D5 3 A6 B6 C6 None 4 A7 B7 C7 D7 请教一下大神,为什么结果会这样?

0
1
0
浏览量11