我有一些Pandas系列像result_ses
。我想把所有的数据累积到一个字典中,并把数据保存在一个csv中。我使用Google Colab工作。但我正面临着从数据中删除一些不必要信息的麻烦。我的代码如下:
asd = {}
for prod in unique_products[:4]:
asd[prod] = {} # empty dictionary for each product
asd[prod]['ses'] = result_ses
asd[prod]['des'] = result_des
print(asd)
输出如下:
{'2-28-437': {'ses': 2021-05-01 16
2021-06-01 16
2021-07-01 16
Freq: MS, Name: ses, dtype: int64,
'des': 2021-05-01 14
2021-06-01 14
2021-07-01 13
Freq: MS, Name: des, dtype: int64},
'2-2-329': {'ses': 2021-05-01 16
2021-06-01 16
2021-07-01 16
Freq: MS, Name: ses, dtype: int64,
'des': 2021-05-01 14
2021-06-01 14
2021-07-01 13
Freq: MS, Name: des, dtype: int64},
'24-30-42-7400': {'ses': 2021-05-01 16
2021-06-01 16
2021-07-01 16
Freq: MS, Name: ses, dtype: int64,
'des': 2021-05-01 14
2021-06-01 14
2021-07-01 13
Freq: MS, Name: des, dtype: int64},
'2-53-1151': {'ses': 2021-05-01 16
2021-06-01 16
2021-07-01 16
Freq: MS, Name: ses, dtype: int64,
'des': 2021-05-01 14
2021-06-01 14
2021-07-01 13
Freq: MS, Name: des, dtype: int64}}
其中result_ses
和result_des
都是pandas序列,unique_products
是字符串列表。
# if I type
result_ses.info()
# I get
<class 'pandas.core.series.Series'>
DatetimeIndex: 3 entries, 2021-05-01 to 2021-07-01
Freq: MS
Series name: ses
Non-Null Count Dtype
-------------- -----
3 non-null int64
dtypes: int64(1)
memory usage: 48.0 bytes
要查看result_ses
I的内容,请键入print(result_ses)
并获得:
2021-05-01 16
2021-06-01 16
2021-07-01 16
Freq: MS, Name: ses, dtype: int64 # I do not want this included in the csv
我不希望字典asd
特别包括这两个额外的信息Freq:MS,名称:des,数据类型:int64,我只想要剩下的,这样我就可以在csv中得到想要的输出。使用下面的代码,我试图将数据保存在csv中,但它不是我想要的格式。
op_path = '/content/output/'
output_file_path = op_path + f'desired_output.csv'
ddf = pd.DataFrame.from_dict(asd, orient='index')
ddf.to_csv(output_file_path, index_label='Date')
我期待着得到最终的输出是一个像下面这样的csv。如何解决此问题?
1条答案
按热度按时间qvk1mo1f1#
您可以按
DatetimeIndex
以及ses
和des
的值创建列:对于按空格分隔的值,请使用:
测试和解决方案运行良好:
如果需要格式为
Excel
中的单独行: