Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 设置数据集格式时出现问题_Python_Database_Pandas_Numpy_Dataframe - Fatal编程技术网

Python 设置数据集格式时出现问题

Python 设置数据集格式时出现问题,python,database,pandas,numpy,dataframe,Python,Database,Pandas,Numpy,Dataframe,从XML中提取这些数据并将其存储到Pandas数据框架之后,我想问一下是否以及如何根据需求格式化数据 问题1:基本上每三行需要通过删除NAN来组合,以表示一行。 例如,表示此数据的正确方法是: qid, qualid, val 0 2065887850, 227, (0,0,0,0,0,0,0,0,0,0) 1 2021905255, 30, (49214,.....,...,....) 问题2: 在某些地方,val变量实际上丢失了(在原始数据中每隔三行),我需要为此放置一个NaN

从XML中提取这些数据并将其存储到Pandas数据框架之后,我想问一下是否以及如何根据需求格式化数据

问题1:基本上每三行需要通过删除NAN来组合,以表示一行。 例如,表示此数据的正确方法是:

  qid, qualid, val

0 2065887850, 227, (0,0,0,0,0,0,0,0,0,0)
1 2021905255,  30, (49214,.....,...,....) 
问题2:

在某些地方,val变量实际上丢失了(在原始数据中每隔三行),我需要为此放置一个NaN。在这种情况下,所需的输出为。理想情况下,我需要一个解决这两个问题的解决方案

  qid, qualid, val

0 2065887850, 227, (0,0,0,0,0,0,0,0,0,0)
1 2121905255,  23, (49214,.....,...,....) 
2 2834347850,  17, NaN
3 2121905255, 930, (14124,.....,...,....) 
4 2465212110, 227, (2,2,1,4,6,7,0,0,0,0)
5 2921905225, 130, NaN

您可以尝试将dataframe转换为字符串类型和groupby 3行并添加行

      col_1   col_2     col_3
0   29021214    NaN     NaN
1   NaN         227     NaN
2   NaN         NaN     0,0,0,0
4   20218343    NaN     NaN
5   NaN         30      NaN
7   324234      NaN     NaN
8   NaN         532     NaN
9   NaN         NaN     NaN


temp = df.col_1.notnull().cumsum()
df = df.replace(np.nan,'').astype(str)
df.groupby(temp).sum().replace('',np.nan)
输出:


我不想添加行。这将破坏数据集的用途。每个id都是唯一的,并且具有与之相关联的唯一功能。似乎您的数据用“3行”的数据表示一条记录,使用此逻辑它不会更改记录信息,您能否显示例外情况,我将在@AbhinavRalhan对其进行修改
    col_1       col_2   col_3
col_1           
1   29021214    227    0,0,0,0
2   20218343    30     NaN
3   324234      532.0   NaN