[英]How do I change the header on a 2 column CSV file in python using the pandas library without creating a new file?
我正在做一个数据分析项目。 文件Data_Count.csv有两列,是使用 pandas value_counts()
function 创建的。 其中一列有标题,而另一列没有。 我怎样才能使两列分别具有标题“距离”和“频率”,而无需创建新文件? 到目前为止,这是我的代码。 抱歉,我是 python 的新手,所以我的代码效率不高。
if __name__ == "__main__":
count = int(input("How many distance entries do you wish to record?: "))
with open('results.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=',')
writer.writerows(calculate(count))
df = pd.read_csv("results.csv", header=None)
df.to_csv("results.csv", header=["Raw"], index=False)
df = pd.read_csv("results.csv")
ft = df["Raw"].value_counts(sort=False)
ft.to_csv('Data_Count.csv')
我希望最终产品看起来像:
Distances Frequency
1 1
2 3
3 2
4 1
5 2
它目前看起来像:
Raw
1 1
2 3
3 2
4 1
5 2
此外,是否有可能以某种方式压缩此代码,以便只创建一个文件而不是两个文件(这并不重要,也不必回答)? 作为参考,计算(计数) function 看起来像:
def calculate(n):
outputs = []
for i in range(0, n):
num1 = int(input("Enter first number: "))
num2 = int(input("Enter second number: "))
if NUMBERS.index(num1) < NUMBERS.index(num2):
difference = subtract(num1, num2)
elif NUMBERS.index(num1) > NUMBERS.index(num2):
difference = distance(num1, num2)
else:
difference = 0
outputs.append([difference])
return outputs
使用Series.rename_axis
设置索引名称:
ft = df["Raw"].value_counts(sort=False).rename_axis('Distances')
ft.to_csv('Data_Count.csv')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.