我有以下pandas数据框只有一列:
column_name
0 cc_call_center_sk
1 cc_call_center_id
2 cc_rec_start_date
3 cc_rec_end_date
Run Code Online (Sandbox Code Playgroud)
我想要做的是提取该pandas列中的每个元素并将其放入如下字符串:
my_string = ['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date',
'cc_rec_end_date']
Run Code Online (Sandbox Code Playgroud)
我尝试使用以下代码执行此操作:
my_list = column_names.values.tolist()
Run Code Online (Sandbox Code Playgroud)
但是,输出是一个列表,并不是所希望的:
[['cc_call_center_sk'], ['cc_call_center_id'], ['cc_rec_start_date'], ['cc_rec_end_date']]
Run Code Online (Sandbox Code Playgroud)
将df.names.tolist()产生预期的结果:
>>> df.name.tolist()
['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date']
Run Code Online (Sandbox Code Playgroud)
例如:
>>> df=pd.DataFrame([['cc_call_center_sk'], ['cc_call_center_id'], ['cc_rec_start_date'], ['cc_rec_end_date']], columns=['names'])
>>> df
names
0 cc_call_center_sk
1 cc_call_center_id
2 cc_rec_start_date
3 cc_rec_end_date
>>> df = pd.DataFrame([['cc_call_center_sk'], ['cc_call_center_id'], ['cc_rec_start_date'], ['cc_rec_end_date']], columns=['names'])
>>> df.names.tolist()
['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date']
Run Code Online (Sandbox Code Playgroud)
你确定你没有"分组"值,或在获得之前执行其他"预处理" df.names吗?
您可以tolist在该'column_name'系列上使用该方法.请注意,这my_string是一个字符串列表,而不是字符串.您指定的名称不合适.
>>> import pandas as pd
>>> df = pd.DataFrame(['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date'],
... columns=['column_name'])
>>> df
column_name
0 cc_call_center_sk
1 cc_call_center_id
2 cc_rec_start_date
3 cc_rec_end_date
>>>
>>> df['column_name'].tolist()
['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date']
Run Code Online (Sandbox Code Playgroud)
如果您更喜欢点符号,则以下代码也是如此.
>>> df.column_name.tolist()
['cc_call_center_sk', 'cc_call_center_id', 'cc_rec_start_date', 'cc_rec_end_date']
Run Code Online (Sandbox Code Playgroud)