Python Pandas:根据另一个数据框的类别值创建新列

米歇尔·梅斯基塔(Michel Mesquita)

我有两个数据框:

  • dfA,其中包含数千行温度数据。每个温度值都链接到timeID从不同对象测得值(1、2、3,...,n),因此存在重复的时间ID
  • dfB包含标识每个时间ID的标签。这些标签是正确的日期/时间(date)值

现在,我想在中创建一个新列dfA,其中包含date与right对应的正确timeID我怎样才能做到这一点?

以下是我拥有的数据集的几行,例如:

dfA = pd.DataFrame({'timeID': ['1', '2', '3','2','3','4'], 'temp': ['4.5', '5.1', '4.0','-2.3','3.9','-1.1']})
dfB = pd.DataFrame(pd.date_range('6/24/2013', periods=6, freq='10Min'))
seq = pd.Series(range(1, 7)).to_frame()
dfB = pd.concat([seq,dfB],axis=1)
dfB.columns = ['timeID','date']
dfB.set_index('timeID',inplace=True)
print(dfA)
print(dfB)

输出为dfA

|    temp  timeID
+-----------------
| 0   4.5      1
| 1   5.1      2
| 2   4.0      3
| 3  -2.3      2
| 4   3.9      3
| 5  -1.1      4

输出为dfB

|                      date
| timeID                    
+----------------------------
| 1      2013-06-24 00:00:00
| 2      2013-06-24 00:10:00
| 3      2013-06-24 00:20:00
| 4      2013-06-24 00:30:00
| 5      2013-06-24 00:40:00
| 6      2013-06-24 00:50:00
最大容量

首先,您需要确保timeID两个DF中的列都具有相同的dtype,然后可以使用map()方法:

In [78]: dfA['date'] = dfA['timeID'].astype(dfB.index.dtype).map(dfB['date'])

In [79]: dfA
Out[79]:
   temp timeID                date
0   4.5      1 2013-06-24 00:00:00
1   5.1      2 2013-06-24 00:10:00
2   4.0      3 2013-06-24 00:20:00
3  -2.3      2 2013-06-24 00:10:00
4   3.9      3 2013-06-24 00:20:00
5  -1.1      4 2013-06-24 00:30:00

timeID在较小的DF中转换dtype也很有意义,因为它将更快(更有效),因此,如果dfB较小的话,我可以这样进行:

In [82]: dfB.index = dfB.index.astype(str)

In [84]: dfA['date'] = dfA['timeID'].map(dfB['date'])

In [85]: dfA
Out[85]:
   temp timeID                date
0   4.5      1 2013-06-24 00:00:00
1   5.1      2 2013-06-24 00:10:00
2   4.0      3 2013-06-24 00:20:00
3  -2.3      2 2013-06-24 00:10:00
4   3.9      3 2013-06-24 00:20:00
5  -1.1      4 2013-06-24 00:30:00

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试使用Python / pandas根据来自另一个数据框的一列的内部和创建一个新的数据框

来自分类Dev

根据另一个数据框python熊猫替换列值-更好的方法?

来自分类Dev

Python根据另一个数据框中的列值匹配列名

来自分类Dev

Python根据另一个数据框中的列值匹配列名

来自分类Dev

Python根据另一个数据框值中存在的列索引填充数据框值

来自分类Dev

Python Pandas:根据条件使用一个数据框的值填充另一个数据框的值

来自分类Dev

Python / Pandas:根据另一个数据框过滤和组织数据框的行和列

来自分类Dev

根据python中另一个数据框的2列过滤数据框

来自分类Dev

如何通过另一个数据框的值在python / pandas中以最有效的方式标记一个数据框的列?

来自分类Dev

需要将一个Pandas(Python)数据框与另一个数据框的值进行比较

来自分类Dev

如何在Python Pandas中将一个数据框的列值与另一个数据框的列值相对应的一列除以另一列?

来自分类Dev

Python pandas数据框:数据框到另一个数据框

来自分类Dev

根据Python中的另一个数据框更新数据框

来自分类Dev

Python Pandas:在另一个数据框中找到一个值并将其替换

来自分类Dev

将列从一个数据框添加到另一个python pandas

来自分类Dev

Python Pandas:一个数据框中的列的行值变成另一数据框中的列

来自分类Dev

Python / Pandas-用另一个数据框中的值替换一个数据框中的元素

来自分类Dev

根据Python中另一个数据框的列表更新具有更早日期的值

来自分类Dev

在python,pandas中使用另一个数据框的多列选择一个数据框的行

来自分类Dev

Python Pandas数据框-在另一个数据框中优化对ID的搜索

来自分类Dev

Python Pandas:从另一个数据框的字符串注释中删除数据框类别中的max

来自分类Dev

根据python中另一个列值的顺序设置数据框中的列值

来自分类Dev

Python Pandas:如何根据条件库中的另一个数组替换数据帧中的值

来自分类Dev

用Pandas Python中另一个数据框中的另一列的索引更新数据框中的一列

来自分类Dev

Python数据框检查列数据框中的值是否在另一个数据框中报告的值的范围内

来自分类Dev

基于Python中另一个数据框的多个列合并和填充缺失值

来自分类Dev

Python:如何从数据框中行查找数据并根据列匹配在另一个数据框中相乘

来自分类Dev

Python Pandas与另一个数据框的最接近索引匹配

来自分类Dev

Python Pandas数据框创建一个新列,其中包含另一列的减法

Related 相关文章

  1. 1

    尝试使用Python / pandas根据来自另一个数据框的一列的内部和创建一个新的数据框

  2. 2

    根据另一个数据框python熊猫替换列值-更好的方法?

  3. 3

    Python根据另一个数据框中的列值匹配列名

  4. 4

    Python根据另一个数据框中的列值匹配列名

  5. 5

    Python根据另一个数据框值中存在的列索引填充数据框值

  6. 6

    Python Pandas:根据条件使用一个数据框的值填充另一个数据框的值

  7. 7

    Python / Pandas:根据另一个数据框过滤和组织数据框的行和列

  8. 8

    根据python中另一个数据框的2列过滤数据框

  9. 9

    如何通过另一个数据框的值在python / pandas中以最有效的方式标记一个数据框的列?

  10. 10

    需要将一个Pandas(Python)数据框与另一个数据框的值进行比较

  11. 11

    如何在Python Pandas中将一个数据框的列值与另一个数据框的列值相对应的一列除以另一列?

  12. 12

    Python pandas数据框:数据框到另一个数据框

  13. 13

    根据Python中的另一个数据框更新数据框

  14. 14

    Python Pandas:在另一个数据框中找到一个值并将其替换

  15. 15

    将列从一个数据框添加到另一个python pandas

  16. 16

    Python Pandas:一个数据框中的列的行值变成另一数据框中的列

  17. 17

    Python / Pandas-用另一个数据框中的值替换一个数据框中的元素

  18. 18

    根据Python中另一个数据框的列表更新具有更早日期的值

  19. 19

    在python,pandas中使用另一个数据框的多列选择一个数据框的行

  20. 20

    Python Pandas数据框-在另一个数据框中优化对ID的搜索

  21. 21

    Python Pandas:从另一个数据框的字符串注释中删除数据框类别中的max

  22. 22

    根据python中另一个列值的顺序设置数据框中的列值

  23. 23

    Python Pandas:如何根据条件库中的另一个数组替换数据帧中的值

  24. 24

    用Pandas Python中另一个数据框中的另一列的索引更新数据框中的一列

  25. 25

    Python数据框检查列数据框中的值是否在另一个数据框中报告的值的范围内

  26. 26

    基于Python中另一个数据框的多个列合并和填充缺失值

  27. 27

    Python:如何从数据框中行查找数据并根据列匹配在另一个数据框中相乘

  28. 28

    Python Pandas与另一个数据框的最接近索引匹配

  29. 29

    Python Pandas数据框创建一个新列,其中包含另一列的减法

热门标签

归档