尝试了很多方法来获取输出
import pandas as pd
numbers= []
for i in range(100,5100,100):
numbers.append((30,i))
df = pd.DataFrame(list(zip(*[numbers])))
df.to_csv('file.csv',header=False,index=False,index_label=None
该程序的输出:
file.csv:
"(30, 100)"
"(30, 200)"
"(30, 300)"
"(30, 400)"
"(30, 500)"
"(30, 600)"
"(30, 700)"
但我想要实际输出
file.csv:
30,100
30,200
30,300
30,400
30,500
30,600
答案 0 :(得分:1)
只需替换pd.DataFrame(zip[*numbers])' with 'pd.DataFrame(numbers)
import pandas as pd
numbers = []
for i in range(100, 5100, 100):
numbers.append((30, i))
df = pd.DataFrame(numbers)
df.to_csv('file.csv', header=False, index=False, index_label=None)
说明:
DataFrame(list(zip(*[numbers])))
将创建一个具有行值元组(30,100),(30,200),(30,300)等的一列数据帧。
DataFrame(numbers)
将创建一个两列数据帧,其中第0列的行值为30、30、30等,第1列的行值为100、200、300等。
只需print(df.head(20))
即可看到效果。
通过列表理解,可以更Pythonic地创建numbers
:
numbers = [(30, i) for i in range(100, 5100, 100)]
答案 1 :(得分:0)
您需要像下面这样更新功能:
import pandas as pd
numbers= []
for i in range(100,5100,100):
numbers.append((30,i))
# zip is not required for numbers list.
df = pd.DataFrame(numbers)
df.to_csv('file.csv',header=False,index=False,index_label=None)
如果必须映射多个容器的相似索引,则使用zip。