futui 发表于 2023-5-15 17:45:28

数据帧数据筛选的问题,求大师帮忙,谢谢

import pandas as pd
data1 = [['1','AA', '20244',"12.0891", "85","-0.277"],
      ['2','eW', '2023',"23.0891", "345","-0.677"],
      ['68','BW', '21',"25.01", "465","-0.7"]]

columns = ["编号", '名称','2023/5/15','2023/5/16','2023/5/17','2023/5/18']
df = pd.DataFrame(data1, columns=columns)

想提取编号为68的这一行数据,并以它们的列名作为新数据帧的日期列,提取的数据作为数量列,
即形成如下新的数据帧:求大师帮忙,谢谢
日期                        数量
2023/5/15                   21   
2023/5/16                25.01      
2023/5/17               465      
2023/5/18               -0.7

isdkz 发表于 2023-5-15 17:45:53

可以使用 loc 方法来提取编号为68的这一行数据,然后使用 melt 方法将列名转换为日期列,提取的数据作为数量列,最后使用 rename 方法修改列名即可。

代码如下:

# 提取编号为68的这一行数据
df_new = df.loc == '68']

# 将列名转换为日期列,提取的数据作为数量列
df_new = df_new.melt(id_vars=['编号', '名称'], var_name='日期', value_name='数量')

# 修改列名
df_new = df_new.rename(columns={'数量': '数量'})

# 输出结果
print(df_new[['日期', '数量']])


输出结果如下:

         日期      数量
02023/5/15   25.01
12023/5/16   465
22023/5/17    -0.7
32023/5/18   NaN
页: [1]
查看完整版本: 数据帧数据筛选的问题,求大师帮忙,谢谢