我有一个小样本数据:
import pandas as pd
df = {'ID': [3009, 129,119,120,121,122,130,3014,266,849,174,844 ],
'V': ['IGHV7-B*01','IGHV7-B*01','IGHV6-A*01','GHV6-A*01','IGHV6-A*01','IGHV6-A*01','IGHV4-L*03','IGHV4-L*03','IGHV5-A*01','IGHV5-A*04','IGHV6-A*02','IGHV6-A*02'],
'Prob': [1,1,0.8,0.8056,0.9,0.805 ,1,1,0.997,0.401,1,1]}
df = pd.DataFrame(df)
Run Code Online (Sandbox Code Playgroud)
好像
df
Out[25]:
ID Prob V
0 3009 1.0000 IGHV7-B*01
1 129 1.0000 IGHV7-B*01
2 119 0.8000 IGHV6-A*01
3 120 0.8056 IGHV6-A*01
4 121 0.9000 IGHV6-A*01
5 122 0.8050 IGHV6-A*01
6 130 1.0000 IGHV4-L*03
7 3014 1.0000 IGHV4-L*03
8 266 0.9970 IGHV5-A*01
9 849 0.4010 IGHV5-A*04
10 174 1.0000 IGHV6-A*02
11 844 1.0000 IGHV6-A*02
Run Code Online (Sandbox Code Playgroud)
我想将'V'列拆分为' - '分隔符并将其移动到另一个名为'allele'的列
Out[25]:
ID Prob V …
Run Code Online (Sandbox Code Playgroud) 我有一个要汇总的列名列表
columns = ['col1','col2','col3']
Run Code Online (Sandbox Code Playgroud)
如何添加这三个并将其放入新列中?(以自动方式,以便我可以更改列列表并获得新结果)
带有我想要的结果的数据框:
col1 col2 col3 result
1 2 3 6
Run Code Online (Sandbox Code Playgroud)
谢谢 !
我需要对 python3 (版本 3.6.7)中的一个非常大的 int 进行一些除法。由于除法后总是得到错误的结果(用小数检查),我发现这是 int 和 float 之间的转换。
为什么要int(float(number))
返回与最初给出的不同的数字?
数量例如
11112156454654632123512435326901347901387409791345202341234653563776467245234565435637654768245987098709846554513216562452354654823453456581
Run Code Online (Sandbox Code Playgroud)
int(float(number)
我得到之后
11112156454654632053401792328854929027579441319469717890945725999319869381390969666824878190611577646608244392592697365262211066608985571328
Run Code Online (Sandbox Code Playgroud)
谢谢,
此刻确实陷入了困境。
约翰内斯
我已经阅读了很多有关如何在pyspark中进行有效联接的内容。我发现实现高效联接的方法基本上是:
最后一个是我想尝试的,但是我找不到在pyspark中实现它的方法。我试过了:
df.repartition(numberOfPartitions,['parition_col1','partition_col2'])
Run Code Online (Sandbox Code Playgroud)
但这无济于事,直到我停止它仍需要花费很长时间,因为在最后的几项工作中卡住了火花。
因此,如何在pyspark中使用相同的分区程序并加快连接速度,甚至摆脱永远需要的时间?我需要使用哪个代码?
PD:即使在stackoverflow上,我也查看了其他文章,但是我仍然看不到代码。
我有一个带有很多列的pyspark数据帧,我想选择包含某个字符串的字符串和其他字符串。例如:
df.columns = ['hello_world','hello_country','hello_everyone','byebye','ciao','index']
Run Code Online (Sandbox Code Playgroud)
我想选择包含'hello'的列以及名为'index'的列,因此结果将是:
['hello_world','hello_country','hello_everyone','index']
Run Code Online (Sandbox Code Playgroud)
我想要类似的东西 df.select('hello*','index')
提前致谢 :)
编辑:
我找到了快速解决问题的方法,所以我以问答形式回答自己。如果有人看到我的解决方案并可以提供更好的解决方案,我将不胜感激