excel - 为每个数据点创建新行

标签 excel python-3.x csv pandas

如何为 Pandas 数据框中的每个数据点创建一个新行。例如:

id |2016 |2015 |2014
ID1|1|2|3
ID2|4|5|6
ID3|7|8|9

转换成:
idnum| Date |Datapoint_Value
ID1|2014|3
ID2|2014|6
ID3|2014|9
ID1|2015|2
ID2|2015|5
ID3|2015|8
ID1|2016|1
ID2|2016|4
ID3|2016|7

我正在使用 pandas 从 excel 导入数据,并希望将其存储在一个空数据框中,然后写入 csv 文件。
import pandas as pd

raw_data = pd.read_excel(open('C:\\Python_Loops\\New_doc.xlsx', 'rb'),    sheetname='Advances & Redraw') # Raw data
twisted_df = pd.DataFrame()

最佳答案

使用melt .

twisted_df = pd.melt(raw_data, id_vars='id', 
                     var_name='Date', value_name='Datapoint_Value')

twisted_df.head()

#     id  Date  Datapoint_Value
# 0  ID1  2016                1
# 1  ID2  2016                4
# 2  ID3  2016                7
# 3  ID1  2015                2
# 4  ID2  2015                5

然后,您可以将其导出为 CSV 文件。
twisted_df.to_csv('twisted_df.csv')

关于excel - 为每个数据点创建新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41294819/

相关文章:

csv - 导出 Prestashop 1.6 中的所有产品字段?

Java 创建一个 api 来公开 csv 而不是 json

Excel VBA 宏 : Locating first empty cell in a column and automatically filling it

excel - 创建以单元格值作为名称的文件夹

sql - 每天自动将数据从 Excel 导入 PostgreSQL

python - pytesseract : FileNotFound

python - 在 Python 中使用 Openpyxl 修改现有的 Excel 文件

excel - 找到单元格 block 中最后使用的单元格

python - 如何使用重定义一个方法,在方法中仍然使用原来未修改的继承方法?

python-3.x - 使大型数据集的 CountVectorizer 更快