如果一列包含由,
分隔的多个值,如何将它们分隔在不同的行中?
样本数据集:
name age taskID
----------------------------
AA 20 T01,T02
BB 22 T03,T02,T03
CC 24 T01,T05
DD 21 T02,T06
输出:
name age taskID
-----------------------
AA 20 T01
AA 20 T02
BB 22 T03
BB 22 T02
CC 24 T01
CC 24 T05
CC 24 T03
DD 21 T02
DD 21 T06
答案 0 :(得分:2)
对于0.25及以上的熊猫,您可以使用
File tempFile = null;
try {
String extension = "." + FilenameUtils.getExtension(file.getOriginalFilename()); // from apachi common io
tempFile = File.createTempFile("temp", extension); // can pass the directory also as a third parameter
file.transferTo(tempFile);
} catch (IOException e) {
e.printStackTrace();
}
对于0.25以下的熊猫
df = pd.DataFrame([['AA', '20', 'T01,T02'], ['BB', '22', 'T03,T02,T03'], ['CC', '24', 'T01,T05'], ['DD', '21', 'T02,T06']], columns=('name', 'age', 'taskID'))
df["taskID"] = df["taskID"].str.split(",")
df.explode("taskID")