GVKun编程网logo

Pandas更改外汇DataFrame的时区(pandas dataframe修改值)

22

对于想了解Pandas更改外汇DataFrame的时区的读者,本文将是一篇不可错过的文章,我们将详细介绍pandasdataframe修改值,并且为您提供关于Pandas-使用一个Dataframe列

对于想了解Pandas更改外汇DataFrame的时区的读者,本文将是一篇不可错过的文章,我们将详细介绍pandas dataframe修改值,并且为您提供关于Pandas - 使用一个 Dataframe 列的子字符串比较两个 Dataframe、pandas dataframe 与 spark dataframe 互相转换(数据类型应该怎么转换呢?)、Pandas DataFrame使用另一个DataFrame列过滤行、pandas DataFrame的CSV输出端的有价值信息。

本文目录一览:

Pandas更改外汇DataFrame的时区(pandas dataframe修改值)

Pandas更改外汇DataFrame的时区(pandas dataframe修改值)

我们如何在Pandas DataFrame中更改时区?

我编写了一些简单的代码来读取1分钟EURUSD数据(DateTime / Open / High / Low / Close / Vol)。样本数据位于EST时区,我需要将其转换为UTC。

df.tz_convert(pytz.timezone(''UTC''))

失败了。有错误

TypeError:无法转换tz天真时间戳,使用tz_localize进行本地化

来自DAT_ASCII_EURUSD_M1_SmallSample.csv文件的样本数据:

20160103 170000; 1.087010; 1.087130; 1.087010; 1.087130; 0 20160103 170100; 1.087120; 1.087120; 1.087120; 1.087120; 0 20160103 170200; 1.087080; 1.087220; 1.087080; 1.087220; 0 20160104 000100; 1.087830; 1.087840; 1.087640; 1.087640; 0 20160104 000200 ; 1.087640; 1.088220; 1.087640; 1.088220; 0 20160104 000300; 1.088220; 1.088220; 1.088040; 1.088050; 0 20160105 000000; 1.082270; 1.082270; 1.082160; 1.082160; 0 20160105 000100; 1.082160; 1.082160; 1.082130; 1.082140; 0 20160105 000200; 1.082150 ; 1.082240; 1.082150; 1.082240; 0

import pandas as pdimport pytzfilename = "DAT_ASCII_EURUSD_M1_SmallSample.csv"df = pd.read_csv(filename, sep=";", names=[''DateTime'',''Open'',''High'',''Low'',''Close'',''Vol''],                 parse_dates = [0], index_col = ''DateTime'')df.tz_localize(pytz.timezone(''US/Eastern''))df.tz_convert(pytz.timezone(''UTC''))print(df)

答案1

小编典典

您应该使用:

df = df.tz_localize(pytz.timezone(''US/Eastern''))df = df.tz_convert(pytz.timezone(''UTC''))

因为tz_localize这不是就地操作,而是返回一个新的DataFrame。

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的CSV输出端

pandas DataFrame的CSV输出端

我想知道如何将新DataFrame数据添加到现有csv文件的末尾?在to_csv没有提到这样的功能。

关于Pandas更改外汇DataFrame的时区pandas dataframe修改值的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Pandas - 使用一个 Dataframe 列的子字符串比较两个 Dataframe、pandas dataframe 与 spark dataframe 互相转换(数据类型应该怎么转换呢?)、Pandas DataFrame使用另一个DataFrame列过滤行、pandas DataFrame的CSV输出端等相关内容,可以在本站寻找。

本文标签: