遇到熊猫麻烦

时间:2020-03-03 03:37:58

标签: python pandas dataframe

import pandas as pd 

stack = pd.DataFrame(['adam',25,28,'steve',25,28,'emily',18,21)
print(stack[0].to_list()[0::2]) 
print(stack[0].to_list()[1::2]) 
df = pd.DataFrame(
{'Name': stack[0].to_list()[0::3], 
'Age': stack[0].to_list()[1::3], 
'New Age': stack[0].to_list()[2::3] }
) 

print(df)

我如何将亚当分开,然后换成另一排? 我希望它像下表一样排列。

Table

2 个答案:

答案 0 :(得分:0)

您可以将其作为列表使用,并使用切片[0::2][1::2]

import pandas as pd

data = pd.DataFrame(['adam',22,'steve',25,'emily',18])

print(data)
#print(data[0].to_list()[0::2])
#print(data[0].to_list()[1::2])

df = pd.DataFrame({
    'Name': data[0].to_list()[0::2],
    'Age': data[0].to_list()[1::2],
})

print(df)    

之前(如已从问题中删除的原始图片一样)

       0
0   adam
1     22
2  steve
3     25
4  emily
5     18

之后:

    Name  Age
0   adam   22
1  steve   25
2  emily   18

编辑:来自原始问题的图片

enter image description here


编辑:顺便说一句:与普通列表相同

import pandas as pd

data = ['adam',22,'steve',25,'emily',18]

print(data)

df = pd.DataFrame({
    'Name': data[0::2],
    'Age': data[1::2],
})

print(df)    

答案 1 :(得分:0)

这两行应该做到这一点。但是,在不知道您拥有什么代码,您要完成的工作或打算做什么的情况下,以下代码仅在这种情况下有效。

d = {'Name': ['adam', 'steve', 'emily'], 'Age': [22, 25, 18]}
df = pd.DataFrame(d)