简体   繁体   English

大熊猫有问题

[英]Having trouble with pandas

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)

It how do i separate adam and steve into a different row?我如何将亚当和史蒂夫分成不同的行? I want it to line up like the table below.我希望它像下表一样排列。

Table桌子

You can get it as list and use slice [0::2] and [1::2]您可以将其作为列表并使用切片[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)    

Before (like on original image which was removed from question)之前(就像从问题中删除的原始图像一样)

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

After:后:

    Name  Age
0   adam   22
1  steve   25
2  emily   18

EDIT: image from original question编辑:来自原始问题的图像

在此处输入图片说明


EDIT: BTW: the same with normal list编辑:顺便说一句:与普通列表相同

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)    

These two lines should do it.这两行应该可以。 However, without knowing what code you have, what you're trying to accomplish, or what else you intend to do with it, the following code is only valid in this situation.但是,在不知道您拥有什么代码、您想要完成什么或您打算用它做什么的情况下,以下代码仅在这种情况下有效。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM