我有这个spark DataFrame:
+---+-----+------+----+------------+------------+
| ID| ID2|Number|Name|Opening_Hour|Closing_Hour|
+---+-----+------+----+------------+------------+
|ALT| QWA| 6|null| 08:59:00| 23:30:00|
|ALT|AUTRE| 2|null| 08:58:00| 23:29:00|
|TDR| QWA| 3|null| 08:57:00| 23:28:00|
|ALT| TEST| 4|null| 08:56:00| 23:27:00|
|ALT| QWA| 6|null| 08:55:00| 23:26:00|
|ALT| QWA| 2|null| 08:54:00| 23:25:00|
|ALT| QWA| 2|null| 08:53:00| 23:24:00|
+---+-----+------+----+------------+------------+
Run Code Online (Sandbox Code Playgroud)
我想得到一个新的数据帧,只有3个字段不是唯一的行"ID","ID2"和"Number".
这意味着我想要这个DataFrame:
+---+-----+------+----+------------+------------+
| ID| ID2|Number|Name|Opening_Hour|Closing_Hour|
+---+-----+------+----+------------+------------+
|ALT| QWA| 6|null| 08:59:00| 23:30:00|
|ALT| QWA| 2|null| 08:53:00| 23:24:00|
+---+-----+------+----+------------+------------+
Run Code Online (Sandbox Code Playgroud)
或者可能是包含所有重复项的数据框:
+---+-----+------+----+------------+------------+
| ID| ID2|Number|Name|Opening_Hour|Closing_Hour|
+---+-----+------+----+------------+------------+
|ALT| QWA| 6|null| 08:59:00| 23:30:00|
|ALT| QWA| 6|null| …Run Code Online (Sandbox Code Playgroud) 我的问题很简单
如果我做:
var start = System.currentTimeMillis
Run Code Online (Sandbox Code Playgroud)
我得到:
start: Long = 1542717303659
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能让字符串看起来对人眼可读?:
例如:“2018/11/20 13:30:10”
这是我的问题。
我创建了一个绘制圆列表的函数。我需要先用圆 C2 绘制我的圆 C1,然后用 C3 .... 直到 C40。
import matplotlib.pyplot as plt
from matplotlib.patches import Circle
def plot_circle(Liste_circles):
fig = plt.figure(figsize=(5,5))
ax = fig.add_subplot(111)
# On définie un fond blanc
ax.set_facecolor((1, 1, 1))
ax.set_xlim(-5, 15)
ax.set_ylim(-6, 12)
for c in Liste_circles:
ax.add_patch(c)
plt.show()
Run Code Online (Sandbox Code Playgroud)
现在我创建 C1:
C1=Circle(xy=(3, 4), radius=2, fill=False, color='g')
Run Code Online (Sandbox Code Playgroud)
最后我尝试绘制它。
第一个情节有效:
C2=Circle(xy=(6, 3), radius=4, fill=False, color='b')
plot_circle([C1,C2])
Run Code Online (Sandbox Code Playgroud)
第二个失败:
C3=Circle(xy=(7, 2), radius=4, fill=False, color='b')
plot_circle([C1,C3])
Run Code Online (Sandbox Code Playgroud)
有错误:
运行时错误:不能将单个艺术家放入多个图形中
我可以通过以下方式使其工作:
C1=Circle(xy=(3, 4), radius=2, fill=False, color='g')
C3=Circle(xy=(7, 2), radius=4, fill=False, color='b')
plot_circle([C1,C3]) …Run Code Online (Sandbox Code Playgroud) 最大函数有反函数吗?有什么办法可以得到多列的最小值?
如果没有,除了使用 udf 函数之外,您是否知道还有其他方法可以找到它?
谢谢你!
我有上面的数据框:
from pyspark.sql.types import *
rdd = sc.parallelize([
('ALT', ['chien', 'chat'] , 'oiseau'),
('ALT', ['oiseau'] , 'oiseau'),
('TDR', ['poule','poulet'], 'poule' ),
('ALT', ['ours'] , 'chien' ),
('ALT', ['paon'] , 'tigre' ),
('TDR', ['tigre','lion'] , 'lion' ),
('ALT', ['chat'] ,'chien' ),
])
schema = StructType([StructField("ClientId",StringType(),True),
StructField("Animaux",ArrayType(StringType(),True),True),
StructField("Animal",StringType(),True),])
test = rdd.toDF(schema)
test.show()
Run Code Online (Sandbox Code Playgroud)
+--------+---------------+------+
|ClientId| Animaux|Animal|
+--------+---------------+------+
| ALT| [chien, chat]|oiseau|
| ALT| [oiseau]|oiseau|
| TDR|[poule, poulet]| poule|
| ALT| [ours]| chien|
| ALT| [paon]| tigre|
| TDR| [tigre, lion]| lion|
| ALT| …Run Code Online (Sandbox Code Playgroud) 我有一个简单的问题...我尝试使用一个将数据帧作为参数并返回另一个数据帧的函数
我愿意:
val get_nb_previous_offre : ((DataFrame) => (DataFrame)) = (arg1: DataFrame) => {
// create new_df using arg1 (=DataFrame I pass in parameter)
new_df
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
<console>:32: error: not found: type DataFrame
val get_nb_previous_offre : ((DataFrame) => (DataFrame)) = (arg1: DataFrame) => {
Run Code Online (Sandbox Code Playgroud)
是否需要导入一个库才能使用 DataFrame 作为我的函数的类型?
apache-spark ×3
pyspark ×3
scala ×2
apache ×1
matplotlib ×1
plot ×1
pyspark-sql ×1
python-3.6 ×1