最近很多小伙伴都在问pandasdataframe时间戳转换和pandas时间戳转换为时间这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展Pandas-使用一个Dataframe列
最近很多小伙伴都在问pandas dataframe时间戳转换和pandas 时间戳转换为时间这两个问题,那么本篇文章就来给大家详细解答一下,同时本文还将给你拓展Pandas - 使用一个 Dataframe 列的子字符串比较两个 Dataframe、pandas dataframe 与 spark dataframe 互相转换(数据类型应该怎么转换呢?)、Pandas DataFrame使用另一个DataFrame列过滤行、Pandas DataFrame按时间戳分组等相关知识,下面开始了哦!
本文目录一览:- pandas dataframe时间戳转换(pandas 时间戳转换为时间)
- Pandas - 使用一个 Dataframe 列的子字符串比较两个 Dataframe
- pandas dataframe 与 spark dataframe 互相转换(数据类型应该怎么转换呢?)
- Pandas DataFrame使用另一个DataFrame列过滤行
- Pandas DataFrame按时间戳分组
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
我能够使用下面的方法获得所需的输出
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 互相转换(数据类型应该怎么转换呢?)
文章大纲
- 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列过滤行
我会做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的合并答案,但是代码更多,但也许更直接。
您只需:
- 合并该列并创建新的数据框
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) }
- 根据条件(在本例中为
s
),将数据名人 - 最后,将
s['col3'] >= s['col2']
传递给s
,结果将排除布尔系列df1
中返回False
的行:
s
更改为返回True
或False
的布尔系列。
s
Pandas DataFrame按时间戳分组
我有一个用例,其中:
数据的格式为:Col1,Col2,Col3和时间戳。
现在,我只想获取行数与时间戳箱的数量。
也就是说,对于每半小时的存储桶(甚至没有对应行的存储桶),我需要计算有多少行。
时间戳记分布在一年内,因此我无法将其划分为24个存储桶。
我必须每隔30分钟将它们装箱。
关于pandas dataframe时间戳转换和pandas 时间戳转换为时间的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于Pandas - 使用一个 Dataframe 列的子字符串比较两个 Dataframe、pandas dataframe 与 spark dataframe 互相转换(数据类型应该怎么转换呢?)、Pandas DataFrame使用另一个DataFrame列过滤行、Pandas DataFrame按时间戳分组等相关知识的信息别忘了在本站进行查找喔。
本文标签: