我正在编写下面的代码,用python编写数据列表到CSV文件我使用下面的代码。
import pandas as pd
df = pd.read_csv ("input.csv")
#From column name Test2 take count value of entry which is simple
simp = df.Test2.value_counts().Simple
list1 = [2, 5, 3, 3, 3]
#multiplying the above list value with the count of simple from input CSV
simplelist = [i * simp for i in list1]
print(simplelist)
# till here its working. Its printing as expected [24, 60, 36, 36, 36]
# I need to write the CSV with above value 1 to 5 from above list with Type as Simple
df1 = pd.DataFrame[(simplelist)]
index=['Simple', '0']
columns=['Type', 'Value1', 'Value2', 'Value3', 'Value4', 'Value5']
df1.to_excel("output.xlsx")
上面的代码是失败的,请求您帮助解决相同的
我认为你需要创建列表与+
连接,并传递给DataFrame
构造函数:
simplelist = [24, 60, 36, 36, 36]
columns=['Type', 'Value1', 'Value2', 'Value3', 'Value4', 'Value5']
df1 = pd.DataFrame([['Simple'] + simplelist], columns=columns)
print (df1)
Type Value1 Value2 Value3 Value4 Value5
0 Simple 24 60 36 36 36
您没有在脚本的任何地方调用index
和column
变量。
在创建DataFrame
的地方定义index
和column
列表。
import pandas as pd
df = pd.read_csv ("input.csv")
#From column name Test2 take count value of entry which is simple
simp = df.Test2.value_counts().Simple
list1 = [2, 5, 3, 3, 3]
#multiplying the above list value with the count of simple from input CSV
simplelist = [i * simp for i in list1]
print(simplelist)
df1 = pd.DataFrame(simplelist, index=['Simple', '0'], columns=['Type', 'Value1', 'Value2', 'Value3', 'Value4', 'Value5'])
df1.to_excel("output.xlsx")