[英]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.