有没有一种方法可以分离包含多个数据集的列



我是这方面的新手,我目前使用的数据帧有四列,仅包含对象数据类型的数据。最后一列包含多个数据点。。。

即第一行、最后一列包含:

[{"year":"1901","a":"A","b":"B"}]   #printed in this format

有没有办法让我创建一个只包含年份的新列?即隔离该数据

提前感谢

使用panda,可以像向字典中添加值一样添加新列。所以这应该对你有用。

df['year'] = [i[0]['year'] for i in df['last_column']]

您可以使用df.apply((来获取字典值,并将其分配给一个新列。

import pandas as pd
df = pd.DataFrame({'col1':['Jack','Jill','Moon','Wall','Hill'],
'col2':[100,200,300,400,500],
'col3':[{"year":"1901","a":"A","b":"B"},
{"year":"1902","c":"C","d":"D"},
{"year":"1903","e":"E","f":"F"},
{"year":"1904","g":"G","h":"H"},
{"year":"1905","i":"I","j":"J"}] })
print (df)
df['year'] = df['col3'].apply(lambda x: x['year'])
print (df)

上述代码的输出:

原始数据帧:

col1  col2                                  col3
0  Jack   100  {'year': '1901', 'a': 'A', 'b': 'B'}
1  Jill   200  {'year': '1902', 'c': 'C', 'd': 'D'}
2  Moon   300  {'year': '1903', 'e': 'E', 'f': 'F'}
3  Wall   400  {'year': '1904', 'g': 'G', 'h': 'H'}
4  Hill   500  {'year': '1905', 'i': 'I', 'j': 'J'}

更新的数据帧:

col1  col2                                  col3  year
0  Jack   100  {'year': '1901', 'a': 'A', 'b': 'B'}  1901
1  Jill   200  {'year': '1902', 'c': 'C', 'd': 'D'}  1902
2  Moon   300  {'year': '1903', 'e': 'E', 'f': 'F'}  1903
3  Wall   400  {'year': '1904', 'g': 'G', 'h': 'H'}  1904
4  Hill   500  {'year': '1905', 'i': 'I', 'j': 'J'}  1905

最新更新