我有一个名为file1.csv
的CSV文件,如下所示:
#file1.csv
place,time,count
1,1,10
2,2,12
我想创建一个名为file2.csv
的新CSV文件,其标题与上面相同,但是地址代码是10倍加[1-4],计数是1/4(时间保持不变相同的价值)。
因此,file2.csv
的行数比file1.csv
大4倍。 (我需要将上面的示例csv转换成下面的内容。)
#file2.csv
place,time,count
11,1,2.5
12,1,2.5
13,1,2.5
14,1,2.5
21,2,3
22,2,3
23,2,3
24,2,3
我通常使用pandas(或numpy)处理CSV文件,但我不知道如何扩展pandas DataFrame的记录。
答案 0 :(得分:2)
使用熊猫。
import pandas as pd
df = pd.DataFrame.from_csv("file1.csv")
new = pd.DataFrame({"time": np.repeat(df.time.values, 4)}, columns=df.columns)
new["place"] = np.concatenate([np.ones(4) * df.place[i] * 10 + np.arange(1,5) for i,_ in enumerate(df.time)])
new["count"] = np.concatenate([np.ones(4) * df["count"][i] / 4 for i,_ in enumerate(df.time)])
new.to_csv("file2.csv")
编辑:现在它应该按预期工作。