Python 如何创建具有重复字符串值的dataframe列?

Python 如何创建具有重复字符串值的dataframe列?,python,string,pandas,dataframe,Python,String,Pandas,Dataframe,我从一堆文件中读取数据并将其存储在数据框中。我需要一列数据框来指示数据来自哪个文件。我如何创建一个列,使相同的字符串反复出现,而无需手动键入 我正在读取的每个文件都有大约100个数据点(但每次都不是相同的数字)。当我在中阅读每一个时,我将沿着轴=0连接到数据帧。应该是这样的 import numpy as np import pandas as pd numbers = np.random.randn(5) # this data could be of any length, ~100 lab

我从一堆文件中读取数据并将其存储在数据框中。我需要一列数据框来指示数据来自哪个文件。我如何创建一个列,使相同的字符串反复出现,而无需手动键入

我正在读取的每个文件都有大约100个数据点(但每次都不是相同的数字)。当我在中阅读每一个时,我将沿着轴=0连接到数据帧。应该是这样的

import numpy as np
import pandas as pd
numbers = np.random.randn(5) # this data could be of any length, ~100
labels = np.array(['file01','file01','file01','file01','file01']) 
tf = pd.DataFrame()
tf['labels'] = labels
tf['numbers'] = numbers

In [8]: tf
Out[8]: 
   labels   numbers
0  file01 -0.176737
1  file01 -1.243871
2  file01  0.154886
3  file01  0.236653
4  file01 -0.195053

(是的,我知道我可以将“file01”作为列标题,并沿axis=1追加每个列标题,但我不想这样做是有原因的。)

好了,代码已经修复!实际上,您可以在DataFrame构造函数中使用的dict中放入一个值:)


IIUC您可以只做
tf['labels']='file01'
标量值将沿df的短轴广播,此外,为什么要这样做,这似乎有点浪费,或者您只是想确定数据来自何处?您只需将dfs加载到df中,设置
标签
列,将它们附加到列表中即可调用
pd.concat(dfs列表)
当我执行
tf['labels']='file01'
时,所有标签都显示为
NaN
。您需要一个已填充行的df,如果df为空,则执行分配不会扩展df,无论如何,您可以执行
tf=pd.DataFrame({'labels':labels,'numbers':numbers'})
Yes,我只是想确定数据来自哪里。我本来是这样做的,每个文件都有自己的列,但这真的很难看,因为有所有这些
NaN
s,其中数据集的长度不同,然后我想给每个文件添加更多的列,这很混乱。我认为concating-length-wise会更干净。为什么不用文件名作为键,dfs作为值来填充dict呢?谢谢!!我知道这必须很简单,但我仍在努力理解所有这些语法。构造函数非常强大,但我知道pandas有一个陡峭的学习曲线。你已经完成了10分钟的教程了吗?熊猫会实际使用所需的内存量分别存储每个
file01
,还是内置了某种模式识别,确保
file01
只存储一次,然后将所有单元格引用到同一个内存位置?
import numpy as np
import pandas as pd
filename = 'file01'
numbers = np.random.randn(5) # this data could be of any length, ~100
tf = pd.DataFrame({'labels': filename , 'numbers': numbers})

In [8]: tf
Out[8]: 
   labels   numbers
0  file01 -0.176737
1  file01 -1.243871
2  file01  0.154886
3  file01  0.236653
4  file01 -0.195053