Я думаю, вам нужно сначала изменить dict
на d
, потому что dict
- это python kyeword:
i = 0
d = {}
for root, dirs, files in os.walk(root):
for file in os.listdir(root):
if file.endswith(".tlm-raw"):
name = os.path.splitext(file)[0]
d[name] = pd.read_table(os.path.join(root,file),index_col=False,header=None, skiprows=53,engine='python')
Так что d
- это dictionary of DataFrame
s, поэтому индексация возможна с помощью:
d['file_name'].iloc[:, 9]
РЕДАКТИРОВАТЬ:
d1 = {}
for k, v in d.items()
#modify v
df1[k] = v
Мое редактирование: Здесь я предполагаю, что у нас есть несколько фреймов данных в словаре d, я перебираю каждый из них по ключу (что в моем случаеэто имя файла).Выполняя операции по каждому из них.Давайте предположим, что мы пытаемся разделить столбцы между 31-м и 94-м столбцами.
d1={}
for k in d:
df=pd.DataFrame.from_dict(d[k])
Result=pd.DataFrame(df.iloc[:,30:93])
d1[k]=pd.DataFrame(Result)
Таким образом, вы изменили словарь с теми же ключами.
Мне нужно:
d1={}
for k, v in d.items():
d1[k] = v.iloc[:,30:93]
Или:
d1 = {k: v.iloc[:,30:93] for k, v in d.items()}