📜  展平数据帧列表

📅  最后修改于: 2022-05-13 01:54:49.329000             🧑  作者: Mango

展平数据帧列表

在本文中,我们将了解如何展平 DataFrame 列表。扁平化定义为将数据格式转换或更改为窄格式。扁平化列表的优点是提高了计算速度和对数据的良好理解。

例子:

让我们考虑一下包含四个月内付款等值的数据框。实际上,数据是以列表格式存储的。

注意: 0,1,2 是记录的索引 

扁平化意味着为每个作者单独分配列表。

我们将使用数据框对列表执行展平操作。

方法一:

步骤 1:创建一个简单的数据框。

Python3
#importing pandas module
import pandas as pd
  
#creating dataframe with 2 columns
df = pd.DataFrame(data=[[[ 300, 400, 500, 600], 'sravan_payment'], 
                        [[ 300, 322, 333, 233], 'bobby_payment']], 
                  index=[ 0, 1], columns=[ 'A', 'B'])
  
display(df)


Python3
flatdata = pd.DataFrame([( index, value) for ( index, values)
                         in df[ 'A' ].iteritems() for value in values],
                             columns = [ 'index', 'A']).set_index( 'index' )
  
df = df.drop( 'A', axis = 1 ).join( flatdata )
display(df)


Python3
#importing pandas module for dataframe.
import pandas as pd
  
df = pd.DataFrame(data=[[[ 300, 400, 500, 600], 'sravan_payment'], 
                        [[ 300, 322, 333, 233], 'bobby_payment']], 
                  index = [ 0, 1], columns = [ 'A', 'B'])
display(df)


Python3
df.values.flatten()


输出:

第 2 步:用特定的列迭代每一行。

蟒蛇3

flatdata = pd.DataFrame([( index, value) for ( index, values)
                         in df[ 'A' ].iteritems() for value in values],
                             columns = [ 'index', 'A']).set_index( 'index' )
  
df = df.drop( 'A', axis = 1 ).join( flatdata )
display(df)

输出:

方法2:使用flatten方法。

我们将为上面的代码应用 flatten函数。

蟒蛇3

#importing pandas module for dataframe.
import pandas as pd
  
df = pd.DataFrame(data=[[[ 300, 400, 500, 600], 'sravan_payment'], 
                        [[ 300, 322, 333, 233], 'bobby_payment']], 
                  index = [ 0, 1], columns = [ 'A', 'B'])
display(df)

输出:

蟒蛇3

df.values.flatten()

输出: