如何使用另一列中的数据创建新的Dataframe列

2024-03-28 22:42:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个从列表的dict创建的数据帧。 我想把这些条目分在日期下面,并创建一个名为“Story”的新列。你知道吗

                             2017-01-31           2017-02-01
 Gates, Bill.            [[SPGC-14075, 0.5]]                  [0]
 Jobs, Steve.            [[SPGC-14075, 3.5]]                  [0]
 Jobs, Steve.             [[SPGC-9456, 2.5]]                  [0]
 White, John ANDERSON.  [[SPGC-14075, 1.75]]  [[SPGC-9456, 5.25]]

理想输出:

                         Story            2017-01-31    2017-02-01
 Gates, Bill.           SPGC-14075         0.5                   0
 Jobs, Steve.           SPGC-14075         3.5                   0
 Jobs, Steve.           SPGC-94562          .5                   0
 White, John ANDERSON.  SPGC-14075        1.75                   0
 White, John ANDERSON.  SPGC-9456            0                   5.25

如何使用数据帧操作来执行此操作?你知道吗

编辑:

使用nanojohn的解决方案,我得到了这个结果。很接近。仍然需要打破2017-02-01最后一个条目。你知道吗

                       2017-01-31         2017-02-01       Story
Gates, Bill.                 0.50                  0  SPGC-14075
Jobs, Steve.                 3.50                  0  SPGC-14075
Jobs, Steve.                 2.50                  0   SPGC-9456
White, John ANDERSON.        1.75  [SPGC-9456, 5.25]  SPGC-14075

Tags: 数据编辑列表jobs条目johndictanderson
1条回答
网友
1楼 · 发布于 2024-03-28 22:42:49

您可以按如下方式尝试使用.apply()方法(假设您的数据帧位于名为df的变量中):

df['Story'] = df['2017-01-31'].apply(lambda x: x[0][0])
df['2017-01-31'] = df['2017-01-31'].apply(lambda x: x[0][1])
df['2017-02-01'] = df['2017-02-01'].apply(lambda x: x[0])

相关问题 更多 >