GVKun编程网logo

pandas dataframe时间戳转换(pandas 时间戳转换为时间)

19

最近很多小伙伴都在问pandasdataframe时间戳转换和pandas时间戳转换为时间这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展Pandas-使用一个Dataframe列

最近很多小伙伴都在问pandas dataframe时间戳转换pandas 时间戳转换为时间这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展Pandas - 使用一个 Dataframe 列的子字符串比较两个 Dataframe、pandas dataframe 与 spark dataframe 互相转换(数据类型应该怎么转换呢?)、Pandas DataFrame使用另一个DataFrame列过滤行、Pandas DataFrame按时间戳分组等相关知识,下面开始了哦!

本文目录一览:

pandas dataframe时间戳转换(pandas 时间戳转换为时间)

pandas dataframe时间戳转换(pandas 时间戳转换为时间)

我有用 YYYY-MM-DD HH:MM:SS 编写的数据集,我想将时间戳(YYYY-MM-DD HH:MM:SS)转换为 UNIX 时间戳(例如 1655805822)。

所以,

df[''Timestamp''] = df[''Timestamp''].astype(np.int64) // 1000000

然后,发生错误,

Traceback (most recent call last):  File "C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py", line 3444, in run_code    exec(code_obj, self.user_global_ns, self.user_ns)  File "<ipython-input-2-32d4e584f08d>", line 1, in <module>    runfile(''C:/Users/Monet/PycharmProjects/pythonProject1/to_image.py'', wdir=''C:/Users/Monet/PycharmProjects/pythonProject1'')  File "C:\Program Files\JetBrains\PyCharm 2022.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_umd.py", line 198, in runfile    pydev_imports.execfile(filename, global_vars, local_vars)  # execute the script  File "C:\Program Files\JetBrains\PyCharm 2022.1\plugins\python\helpers\pydev\_pydev_imps\_pydev_execfile.py", line 18, in execfile    exec(compile(contents+"\n", file, ''exec''), glob, loc)  File "C:/Users/Monet/PycharmProjects/pythonProject1/to_image.py", line 26, in <module>    df[''Timestamp''] = df[''Timestamp''].astype(np.int64) // 1000000  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\generic.py", line 5815, in astype    new_data = self._mgr.astype(dtype=dtype, copy=copy, errors=errors)  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\internals\managers.py", line 418, in astype    return self.apply("astype", dtype=dtype, copy=copy, errors=errors)  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\internals\managers.py", line 327, in apply    applied = getattr(b, f)(**kwargs)  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\internals\blocks.py", line 591, in astype    new_values = astype_array_safe(values, dtype, copy=copy, errors=errors)  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\dtypes\cast.py", line 1309, in astype_array_safe    new_values = astype_array(values, dtype, copy=copy)  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\dtypes\cast.py", line 1257, in astype_array    values = astype_nansafe(values, dtype, copy=copy)  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\dtypes\cast.py", line 1174, in astype_nansafe    return lib.astype_intsafe(arr, dtype)  File "pandas\_libs\lib.pyx", line 679, in pandas._libs.lib.astype_intsafeValueError: invalid literal for int() with base 10: ''2013-11-01 00:10:00''

答案1

小编典典

您需要先将其转换为日期时间

df[''Timestamp''] = pd.to_datetime(df[''Timestamp'']) # <--heredf[''Timestamp''] = df[''Timestamp''].astype(np.int64) // 1000000

Pandas - 使用一个 Dataframe 列的子字符串比较两个 Dataframe

Pandas - 使用一个 Dataframe 列的子字符串比较两个 Dataframe

我能够使用下面的方法获得所需的输出

df1.merge(df2,left_on = df2.prod_ref.str.extract(''(\d+)'',expand = False),right_on = df1.prod_id.str.extract(''(\d+)'',how = ''left'')

pandas dataframe 与 spark dataframe 互相转换(数据类型应该怎么转换呢?)

pandas dataframe 与 spark dataframe 互相转换(数据类型应该怎么转换呢?)

文章大纲

  • spark 2.x 版本
  • spark 3.2 版本及以上
  • 参考文献


spark 2.x 版本

spark 2.4.8 版本:

  • https://spark.apache.org/docs/2.4.8/api/python/_modules/pyspark/sql/dataframe.html#DataFrame.toPandas

源代码:

@since(1.3)
    def toPandas(self):
        """
        Returns the contents of this :class:`DataFrame

本文同步分享在 博客“shiter”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

Pandas DataFrame使用另一个DataFrame列过滤行

Pandas DataFrame使用另一个DataFrame列过滤行

我会做merge

out = df1.merge(df2[['col1','col2']],on = 'col1',suffixes = ('','1')).query('col3>=col21').drop('col21',1)

out
Out[15]: 
  col1  col2  col3  col4
1    A     2  0.80   200
2    A     2  0.90   300
3    A     3  0.95   400
4    A     3  0.85   500
5    B     2  0.65   600
6    B     2  0.75   700
9    B     3  0.75  1000

reindex

out = df1[df1['col3'] >= df2.set_index('col1')['col2'].reindex(df1['col1']).values]
Out[19]: 
  col1  col2  col3  col4
1    A     2  0.80   200
2    A     2  0.90   300
3    A     3  0.95   400
4    A     3  0.85   500
5    B     2  0.65   600
6    B     2  0.75   700
9    B     3  0.75  1000

您还可以使用map

 df1.loc[df1.col3 >= df1.col1.map(df2.set_index("col1").col2)]
,

我的方法类似于@Ben_Yo的合并答案,但是代码更多,但也许更直接。

您只需:

  1. 合并该列并创建新的数据框 ZStack{ Rectangle() .frame(width: geometry.size.width,height: geometry.size.height/3.25) .shadow(radius: 5) .foregroundColor(Color.white) //Words ontop of the Rectangle VStack { HStack { Spacer() Text("Hello World") }.padding(.trailing,40) Spacer() //<-- PROBLEM HERE }//.offset(y: -40) }
  2. 根据条件(在本例中为s
  3. ),将数据名人s更改为返回TrueFalse的布尔系列。
  4. 最后,将s['col3'] >= s['col2']传递给s,结果将排除布尔系列df1中返回False的行:

s

Pandas DataFrame按时间戳分组

Pandas DataFrame按时间戳分组

我有一个用例,其中:

数据的格式为:Col1,Col2,Col3和时间戳。

现在,我只想获取行数与时间戳箱的数量。

也就是说,对于每半小时的存储桶(甚至没有对应行的存储桶),我需要计算有多少行。

时间戳记分布在一年内,因此我无法将其划分为24个存储桶。

我必须每隔30分钟将它们装箱。

关于pandas dataframe时间戳转换pandas 时间戳转换为时间的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Pandas - 使用一个 Dataframe 列的子字符串比较两个 Dataframe、pandas dataframe 与 spark dataframe 互相转换(数据类型应该怎么转换呢?)、Pandas DataFrame使用另一个DataFrame列过滤行、Pandas DataFrame按时间戳分组等相关知识的信息别忘了在本站进行查找喔。

本文标签: