对于想了解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 列的子字符串比较两个 Dataframe
- pandas dataframe 与 spark dataframe 互相转换(数据类型应该怎么转换呢?)
- Pandas DataFrame使用另一个DataFrame列过滤行
- pandas DataFrame的CSV输出端
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
我能够使用下面的方法获得所需的输出
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的CSV输出端
我想知道如何将新DataFrame
数据添加到现有csv文件的末尾?在to_csv
没有提到这样的功能。
关于Pandas更改外汇DataFrame的时区和pandas dataframe修改值的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于Pandas - 使用一个 Dataframe 列的子字符串比较两个 Dataframe、pandas dataframe 与 spark dataframe 互相转换(数据类型应该怎么转换呢?)、Pandas DataFrame使用另一个DataFrame列过滤行、pandas DataFrame的CSV输出端等相关内容,可以在本站寻找。
本文标签: