我正在使用具有五张工作表的数据帧,我想使用其中的四张。所以我可以加载它:
< code>df = pd.read_excel('***。xls ',sheet_name=['a ',' b ',' c ',' d'])
但现在我想添加一列,说明每一行在哪一张表中,我不知道该怎么做。我试过这样的东西
for name, frame in df.items():
frame['Sheet'] = name
df = df.append(frame, ignore_index=True)
但是我收到了以下错误:
AttributeError:“个集合。OrderedDict“对象没有属性”append“
任何帮助都将不胜感激。提前感谢!
假设这是我连接工作表后的数据的样子:
df = pd.concat(pd.read_excel(***.xls, sheet_name=['a', 'b', 'c', 'd'],
header=1), ignore_index=True, sort=False)
串联数据
我的目标是添加一列,说明每行来自哪个工作表,就像这样......
使用工作表名称行连接数据
希望这能帮助你理解我想做什么。
(编辑)我还想知道,如果我想使用一个数据框架中的所有工作表,但不想列出每个工作表的单独名称,该如何操作。谢谢!
如果在read_excel
方法中指定sheet_name
,则将返回
type对象。并且
ordered_dict
对象没有
附加
函数。你可以试试这个,
import pandas as pd
data = pd.read_excel('***.xls', sheet_name=['a', 'b', 'c', 'd'])
df = pd.DataFrame()
for name, frame in data.items():
frame['sheet'] = name
df = df.append(frame)
print(df)
IIUC,尝试DataFrame.assign
中的列表理解
:
sheets = ['a', 'b', 'c', 'd']
df = pd.concat([pd.read_excel('***.xls', sheet_name=s)
.assign(sheet_name=s) for s in sheets])
如果要使用所有图纸并指定一列图纸名称,可以执行以下操作:
workbook = pd.ExcelFile('***.xls')
sheets = workbook.sheet_names
df = pd.concat([pd.read_excel(workbook, sheet_name=s)
.assign(sheet_name=s) for s in sheets])
问题内容: 我有一些像这样的数据框: A中值 的 可能范围仅为0到7 。 另外,我有一个8个元素的列表,如下所示: 如果A列中的元素是 n ,我需要将List中的第 n 个元素插入新列,例如’D’。 如何一口气做到这一点而又不遍历整个数据框? 产生的数据框如下所示: 注意:数据框很大,迭代是最后一个选项。但是如果需要的话,我也可以将其他数据结构(如dict)排列在“ List”中的元素上。 问题答
如何将Sencha按钮添加到列表的每一行?我在图像中添加了文本占位符,以说明按钮应该放在哪里。
问题内容: 有谁知道如何通过运行脚本向SQL Server列添加描述?我知道使用SQL Server Management Studio创建列时可以添加描述。 我该如何编写脚本,以便当我的SQL脚本创建该列时,还添加了对该列的描述? 问题答案: 我会说您可能想使用sp_addextendedproperty存储的proc来做到这一点。 Microsoft有一些很好的文档。 试试这个:
我有两个数据框: 我希望对 df2 执行逐行运算,我将 df2 中的每一列与 df1 中的相应行相乘,然后执行求和。 例如,对于df2的第1行,我希望计算: 同时排除不匹配(df1中的行)或具有NAs的列。 我在df1中有几千行,在df2中有数千行和列。 非常感谢任何帮助!! PS。我在Perl中使用哈希实现了这一点,并使用system()调用在Rmarkdown文档中执行这些计算。为了保持它的完
很容易将列表列表转换为数据帧: 但是我如何将df转换回列表列表呢?
我正在尝试添加溢出图标(以显示弹出菜单)到列表的每一行。每行左侧有图像(70dp*70dp),右侧有溢出图标图像(27dp*70dp)。 我现在的布局是这样的: 但是这样,中间行的文本会重叠右侧的溢出图标。这是我不想要的。问题是,点击溢出图标被视为点击行,因此弹出菜单永远不会出现。 如何在RelativeLayout中指定将左图像对齐到左侧,右图像对齐到右侧,并将中间的所有可用空间用于textvi