我有这样的DataFrame:
+----------+---+
| code |idn|
+----------+---+
| [I0478]| 0|
| [B0527]| 1|
| [C0798]| 2|
| [C0059]| 3|
| [I0767]| 4|
| [I1001]| 5|
| [C0446]| 6|
+----------+---+
我想向DataFrame添加新列
+----------+---+------+
| code |idn| item |
+----------+---+------+
| [I0478]| 0| I0478|
| [B0527]| 1| B0527|
| [C0798]| 2| C0798|
| [C0059]| 3| C0059|
| [I0767]| 4| I0767|
| [I1001]| 5| I1001|
| [C0446]| 6| C0446|
+----------+---+------+
请帮我这样做!
答案 0 :(得分:1)
使用[]
:
df.withColumn("item", df["item"][0])
答案 1 :(得分:1)
因此,如果您查看架构,则问题将很明显-您尝试作为子集的列不是数组。因此解决方案是。*扩展列。
df.select('code.*', 'idn')
答案 2 :(得分:0)
df.withColumn("item", df["code"][0])
如果“ item”列是Array类型,如果它是字符串的Struct,则可能需要通过df.select(“ code”)。collect()[0]检查item元素的键,请参阅键(字符串)。
答案 3 :(得分:0)
python
with open("aa.dwr", "rb") as file:
data = file.readline()
datastring = str(data)
while data:
with open("out1.txt", "w") as f:
f.write(' '.join(map(str,data)))
f.write("\r\n")
print("line {}: {}".format(cnt, map(str,datastring.strip())))
data = file.readline()
cnt +=1