我有以下代码:
rev = input(rev: )
def ds():
data = pd.read_excel(r'H:sysfile.xls', skiprows=2)
dataset1 = pd.DataFrame(data, columns=['Col_1', 'Col_2', 'Col_3', 'Col_4'])
dataset2 = pd.DataFrame(data, columns=['Col_5'])
dataset2['Col_5'] = dataset2['Col_5'].fillna(rev)
ds()
Col_5是xls
文件中现有的列。我想给列中的每个单元格提供来自rev
的输入如果我print()
dataset1
,我将获得现有DataFrame的内容(从xls
-文件读取(:
A B C
0 x y z
1 x y z
2 x y z
现在,我想将rev=input()
的用户输入写入DataFramedataset2
,并将其附加到dataset 1
。
输入:
>>>rev: h
应该变成这个(dataset2
(:
D
0 h
1 h
2 h
并应用于dataset1
:
A B C D
0 x y z h
1 x y z h
2 x y z h
我需要帮助!
如果您已经设法用用户输入填充数据集2,那么您需要的是加入两个数据集:
dataset1 = pd.DataFrame({'A': ['X', 'X', 'X', 'X'], 'B': ['Y', 'Y', 'Y', 'Y'], 'C': ['z', 'z', 'z', 'z']})
Out[5]:
A B C
0 X Y z
1 X Y z
2 X Y z
3 X Y z
dataset2 = pd.DataFrame({'D': ['h', 'h', 'h', 'h']})
Out[8]:
D
0 h
1 h
2 h
3 h
在这一点上,你需要加入他们:
result = pd.concat([df1, df2], axis=1, sort=False)
Out[10]:
A B C D
0 X Y z h
1 X Y z h
2 X Y z h
3 X Y z h
您可以在此处阅读以了解更多详细信息:https://pandas.pydata.org/pandas-docs/stable/user_guide/merging.html
您可以获得数据帧的Transpose,并将该列添加为一行。
添加该行后,您可以再次使用Transpose将数据帧转换为其正常形式的